0x00:请求流程图
首先,来看一下 SpringMVC 的整个请求流程,如下图:
0x01:步骤解析
SpringMVC 整体流程步骤解析:
1,用户去单击了某个请求路径,发起了一个 request 请求,这个请求会被 DispatcherServlet 前端控制器处理。
2,前端控制器 DispatcherServlet 去请求处理器映射器 HandlerMapping 去查找 Handler,可以依据注解或者 XML 配置去查找。
3,处理器映射器 HandlerMapping 根据配置找到相应的 Handler,返回给前端控制器 DispatcherServlet,这个 Handler 可能包含 N 个 Interceptor 拦截器。
4,前端控制器 DispatcherServlet 请求处理器适配器 HandlerAdapter 去执行相应的 Handler,也就是 Controller。
5,处理器适配器 HandlerAdapter 执行 Handler。
6,Handler 执行完毕后会返回给处理器适配器 HandlerAdapter 一个 ModelAndView 对象,ModelAndView 是 SpringMVC 底层对象,包括 Model 数据模型和 Vie