执行流程
大约 1 分钟
Spring MVC 执行流程
视图阶段(JSP)
- 用户发送出请求到前端控制器 DispatcherServlet
- DispatcherServlet 收到请求调用 HandlerMapping(处理器映射器)
- HandlerMapping 找到具体的处理器,生成处理器对象及处理器拦截器(如果有)返回的是一个 Handler 链(责任链模式),再一起返回给 DispatcherServlet
- DispatcherServlet 调用 HandlerAdapter(处理器适配器)
- HandlerAdapter 经过适配调用具体的处理器(Handler/Controller)
- Controller 执行完成返回 ModelAndView 对象
- HandlerAdapter 将 Controller 执行结果 ModelAndView 返回给 DispatcherServlet
- DispatcherServlet 将 ModelAndView 传给 ViewReslover(视图解析器
- ViewReslover 解析后返回具体 View(视图)

前后端分离阶段(接口开发,异步请求)
- 用户发送出请求到前端控制器 DispatcherServlet
- DispatcherServlet 收到请求调用 HandlerMapping(处理器映射器)
- HandlerMapping 找到具体的处理器,生成处理器对象及处理器拦截器(如果有)返回的是一个 Handler 链(责任链模式),再一起返回给 DispatcherServlet
- DispatcherServlet 调用 HandlerAdapter(处理器适配器)
- HandlerAdapter 经过适配调用具体的处理器(Handler/Controller)
- 方法上添加了 @ResponseBody
- 通过 HttpMessageConverter 来返回结果转换为 JSON 并响应

