SpringMVC分析

2018-12-24  本文已影响0人  Felix_Fang
SpringMVC流程图

SpringMVC的工作流程:

1. 用户发送请求至前端控制器DispatcherServlet

2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

5. 执行处理器(Controller,也叫后端控制器)。

6. Controller执行完成返回ModelAndView

7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器

9. ViewReslover解析后返回具体View

10. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

11. DispatcherServlet响应用户

流程分析:

用户请求加载web.xml。配置拦截,任何请求都会走DispatcherServlet这个类。(图01)

图01

点击进入DispatcherServlet这个类,发现DispatcherServlet的父类是HttpServlet。(图02)

图02

点击进入HttpServlet(图03)

图03

同样的,HttpServlet的子类DispatcherServle也重写了类似的方法,doService方法,doService方法的全部请求都交给了doDispatch去处理,doDispatch就是SpringMVC核心请求方法(图04)

图04

点击进入doDispatch。所谓的handler,就是我们写的Controller层代码的方法。

图05

返回的ModelAndView会走ViewReslover视图解析器,最后返回一个具体的视图个用户。(图06)

图06
上一篇下一篇

猜你喜欢

热点阅读