1.时序图
2.执行流程
1、前端请求到前端控制器DispatcherServlet
2、DispatcherServlet收到请求调用处理映射器HandlerMapping
3、处理映射器根据请求url找到具体的处理器(ApplicationContext初始化时用Map保存所有的url和controller对应关系),生成处理器执行链HandlerExecutionChain(包含处理器对象和处理器拦截器)返回给DispatcherServlet
4、DispatcherServlet根据处理器Handler获取对应的适配器
5、HandlerAdapter调用处理器Handler找到具体的Controller
6、Controller 执行完成后返回ModelAndView
7、HandlerAdapter返回ModelAndView
8、DispatcherServlet统一将返回的ModelAndView派送到ViewResolve(视图解析器)解析
9,视图解析器解析之后返回 View
10、对View进行渲染
11、回显页面
3.容器的初始化
1.DispatcherServlet的父类HttpServletBean中找到初始化的init()方法;
2.在init()方法中又会调用FrameworkServlet类的initServletBean()方法,最终会调用refresh()方法;
3.IOC容器初始化完成之后会调用DispatcherServlet类的onRefresh()方法,完成SpringMVC九大组件的初始化。
下一篇