SpringMVC工作流程分析
流程图
- 用户通过浏览器发送请求到前端控制器 DispatcherServlet。
- 前端控制前直接将请求转给处理器映射器 HandlerMapping。
- 处理器映射器 HandlerMapping 会根据请求,找到负责处理该请求的处理器,并将其封装为处理器执行链 HandlerExecutionChina 后返回给前端控制器 DispatcherServlet。
- 前端控制器DispatcherServlet 根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器 HandlerAdapter。
- 处理器适配器 HandlerAdapter 调用执行处理器 Controller。
- 处理器Controller将处理结果及要跳转的视图封装到一个对象 ModelAndView 中,并将其返回给处理器适配器 HandlerAdapter。
- 处理器适配器直接将结果返回给前端控制器 DispatcherServlet 。
- 前端控制器调用视图解析器,将 ModelAndView 中的视图名称封装为视图对象。
- 视图解析器 ViewResolver 将封装了视图的View对象返回给前端控制器 DispatcherServlet。
- 前端控制器 DispatcherServlet 调用试图对象,让其自己进行渲染,即进行数据填充,形成响应对象。
即进行数据填充,形成响应对象。 - 前端控制器响应浏览器。