SpringMVC处理流程在面试的时候可能会问到,下面画出SpringMVC处理流程图方便记忆,这个图可以通过直线的流程闭环来记忆。

SpringMVC处理流程

具体流程如下:

  1. 客户端发送请求给前端控制器DispatcherServlet。
  2. 前端控制器DispatcherServlet调用处理映射器HandleMapping。
  3. 处理映射器HandleMapping通过发送的url返回处理器链chain给前端控制器DispatcherServlet。
  4. 前端控制器DispatcherServlet找处理器适配器HandleAdapter,告诉它要调用处理器handle。
  5. 调用处理器Handle,就是我们开发过程中的控制器Contrller。
  6. 处理器Handle处理器完成后,返回ModelAndView给处理器适配器HandleAdapter
  7. 处理器适配器HandleAdapter再把ModelAndView返回给前端控制器DispatcherServlet。
  8. 前端控制器DispatcherServlet发送ModelAndView给视图解析器ViewResolver。
  9. 视图解析器解析完成后返回给前端控制器DispatcherServlet。
  10. 前端控制器DispatcherServlet将结果返回给客户端。

大致流程是找处理器handle,解析视图ModelAndView,响应给用户,其中前端控制器DispatcherServlet是一个总的枢纽,查找处理响应都要经过它,记住那个直线的闭环即可。