SpringMVC处理流程在面试的时候可能会问到,下面画出SpringMVC处理流程图方便记忆,这个图可以通过直线的流程闭环来记忆。
具体流程如下:
- 客户端发送请求给前端控制器DispatcherServlet。
- 前端控制器DispatcherServlet调用处理映射器HandleMapping。
- 处理映射器HandleMapping通过发送的url返回处理器链chain给前端控制器DispatcherServlet。
- 前端控制器DispatcherServlet找处理器适配器HandleAdapter,告诉它要调用处理器handle。
- 调用处理器Handle,就是我们开发过程中的控制器Contrller。
- 处理器Handle处理器完成后,返回ModelAndView给处理器适配器HandleAdapter。
- 处理器适配器HandleAdapter再把ModelAndView返回给前端控制器DispatcherServlet。
- 前端控制器DispatcherServlet发送ModelAndView给视图解析器ViewResolver。
- 视图解析器解析完成后返回给前端控制器DispatcherServlet。
- 前端控制器DispatcherServlet将结果返回给客户端。
大致流程是找处理器handle,解析视图ModelAndView,响应给用户,其中前端控制器DispatcherServlet是一个总的枢纽,查找处理响应都要经过它,记住那个直线的闭环即可。