SpringMVC请求流程

SpringMVC请求流程

1. 流程步骤

客户端请求被DispatcherServlet接收。

DispatcherServlet将请求映射到Handler。

生成Handler以及HandlerInterceptor。

返回HandlerExecutionChain(Handler + HandlerInterceptor)。

DispatcherServlet通过HandlerAdapter执行Handler。

返回一个ModelAndView。

DispatcherServlet通过ViewResolver进行解析。

返回填充了模型数据的View,响应给客户端。

2. 流程说明

  1. 客户端发送url请求,前端控制器(DispatcherServlet)接收到这个请求然后转发给处理器映射器(HandlerMapping)。

  2. 处理器映射器会对url请求进行分析,找到对应的后端控制器(Handler),并且生成处理器对象及处理器拦截器(形成一条执行链HandlerInterceptor)返回给前端控制器。

  3. 根据处理器映射器返回的后端控制器(Handler)的名称/索引, 前端控制器会找合适的处理器适配器( HandlerAdapter )

  4. 处理器适配器会去执行后端控制器(Handler在开发的时候会被叫成Controller)。补充:执行之前会有转换器、数据绑定、校验器等等操作。完成上面这些才会去执行后端控制器。

  5. 后端控制器Handler执行完成之后返回一个 ModelAndView 对象, Model 是返回的数据对象,View 是个逻辑上的 View

  6. 处理器适配器会将这个 ModelAndView 返回前端控制器。前端控制器会将 ModelAndView 对象交给合适的视图解析器 ViewResolver

  7. 视图解析器(ViewResolver)解析 ModelAndView 对象,返回 视图对象(view)

  8. 前端控制器请求视图对视图对象(View)进行渲染(数据填充)之后返回并响应给浏览器/客户端。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值