SpringMvc的执行流程

视图阶段(jsp)

具体执行步骤

  1. 用户发送请求到前端控制器DispatcherServlet。
  2. DispatcherServlet接收到请求后,调用HandlerMapping(处理器映射器)。
  3. HandlerMapping会去找到具体的处理器,生成处理器对象以及处理器拦截器(如果有的话),再一起返回给DispatcherServlet。
  4. DispatcherServlet调用HandlerAdapter(处理器适配器);这一步是处理参数和返回值,因为每个接口的参数和返回值不一定是一样的。
  5. HandlerAdapter经过适配调用具体的处理器(Handler/Controller)
  6. Controller执行完毕后,返回ModelAndView对象。
  7. HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet。
  8. DispatcherServlet将ModelAndView传给ViewResolver(视图解析器)。
  9. ViewResolver解析完成后会返回具体的View(视图)。
  10. DispatcherServlet会根据View进行渲染视图(就是将模型数据填充到视图中)。
  11. DispatcherServlet响应用户。

可根据以下流程图进行理解。
68b7276f8f9b426c82d672f21ee5c4a9.png

前后端分离,接口开发

具体执行步骤(前五步都是一样的

  1. 用户发送请求到前端控制器DispatcherServlet。
  2. DispatcherServlet接收到请求后,调用HandlerMapping(处理器映射器)。
  3. HandlerMapping会去找到具体的处理器,生成处理器对象以及处理器拦截器(如果有的话),再一起返回给DispatcherServlet。
  4. DispatcherServlet调用HandlerAdapter(处理器适配器);这一步是处理参数和返回值,因为每个接口的参数和返回值不一定是一样的。
  5. HandlerAdapter经过适配调用具体的处理器(Handler/Controller)
  6. 方法上添加了@ResponseBody。
  7. 通过HttpMessageConverter将返回结果转换为JSON并响应。

可根据以下流程图进行理解。
34400b753f194c518d8b0c1d1907ebc8.png

目录

Total Likes
2
Total Comments
0