1.Tomcat 服务器启动的时候会立即创建 DispatcherServlet(中央调度器),同时会创建 SpringMVC 容器。
2.SpringMVC 容器初始化的时候会先根据配置文件中的组件扫描器先扫描一下哪些类上面有 @Controller 注解,并将这些类作为处理器类
。
然后通过 @RequestMapping 注解生成对应的映射关系。这些对应关系由处理器映射器
管理。
3.当收到用户的请求,中央调度器将请求转发给处理器映射器。
4.处理器映射器根据用户请求的 URL 从映射关系中找到处理该请求的处理器,然后封装成处理器执行链
返回给中央处理器。
5.中央调度器根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器,处理器适配器
调用执行处理器
。
6.处理器将处理结果及要跳转的视图封装到 ModelAndView
中,并将其返回给处理器适配器。
7.处理器适配器直接将结果返回给中央调度器,中央调度器调用视图解析器,将 ModelAndView 中的视图名称封装为视图对象。
8.视图解析器将封装了的视图对象返回给中央调度器,中央调度器调用视图对象,填充数据,生成响应对象。
9.中央调度器将结果响应给浏览器。
链接:https://juejin.cn/post/7093670296888016933