SpringMVC流程

1、SpringMVC常用组件:

  • DispatcherServlet(请求分发器):Spring MVC的核心组件之一,负责处理全局配置和将用户请求分发给其他组件进行处理。
  • Controller(处理器): 实际处理业务逻辑的组件。
  • HandlerMapping(处理器映射器):根据请求URI确定应该由哪个处理器(Controller)来处理该请求。HandlerMapping维护一个请求路径和处理器的映射关系(通过扫描@RequestMapping获得)。
  • HandlerExecutionChain(处理器执行链):请求处理的执行链,包含处理器和拦截器的执行顺序。HandlerExecutionChain对象包含一个处理器(handler),这个处理器是对Controller的包装。
  • HandlerAdapter(处理器适配器):请求可能是普通的HTTP请求,也可能是WebSocket等请求,需要选择合适的适配器去执行HandlerExecutionChain对象包含的拦截器和处理器(handler)逻辑。
  • ModelAndView(模型和视图):是一个将处理结果的模型数据以及要展示的视图名称封装在一起的对象,供视图解析器进行处理。
  • ViewResolver(视图解析器):将 ModelAndView 对象中的视图名称解析为具体的视图对象(View)。例如,在Controller中返回的是“user/detail”,那么它就会找到“/WEB-INF/jsp/user/detail.jsp”作为视图(View)。
  • View(视图):负责将模型数据渲染到视图中,并生成最终的HttpResponse对象。View可以是JSP、Thymeleaf等不同的模板引擎,或者是其他自定义的视图实现。

2、SpringMVC流程

在这里插入图片描述

  1. 客户端向Web服务器(如Tomcat)发送一个Http请求,Web服务器将请求转给 DispatcherServlet 处理。

  2. DispatcherServlet 接收到请求后,解析请求地址,得到URI,然后通过 HandlerMapping 得到包含拦截器和handler的 HandlerExecutionChain。

  3. DispatcherServlet 根据得到的Handler对象,选择一个合适的 HandlerAdapter。HandlerAdapter 负责调用拦截器和handler执行相应的逻辑,执行完毕后返回一个 ModelAndView对象 给 DispatcherServlet。

  4. DispatcherServlet 调用 ViewResolver 将 ModelAndView对象 中的视图名称解析为具体的视图对象(View)。

  5. DispatcherServlet 调用视图对象的方法,解析 Model(模型数据),然后进行视图渲染,最后形成一个 HttpResponse 对象。

  6. 最后,DispatcherServlet(请求分发器)将生成的 HttpResponse 对象返回给客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值