Spring MVC 执行流程

转载于网络,如有侵权请联系我删除。

  1. 前端请求首先进入 DispatcherServlet。
  2. DispatcherServlet 将路径传递给 HandleMapping 查询当前请求需要被哪个具体的方法执行,返回的处理链中包括拦截器。
  3. DispatcherServlet 接收到调用链会先执行拦截器,然后将请求参数传递给处理器适配器。
  4. 处理器适配器对输入进行适配和封装,传递给 handler(controller)。
  5. handler 对请求进行处理,并返回响应数据(ModelAndView),这里还会执行拦截器的 postHandle。
  6. 处理器适配器对输出进行转换,返回给 DispatcherServlet。
  7. DispatcherServlet 解析得到 ViewName ,将其传给 ViewResolver。
  8. ViewResolver 解析后获得 View 视图。
  9. DispatcherServlet 将 model 数据填充到 view,得到最终的 Response 返回给客户端。
相关推荐
喵手2 分钟前
Java中Stream与集合框架的差异:如何通过Stream提升效率!
java·后端·java ee
JavaArchJourney4 分钟前
PriorityQueue 源码分析
java·源码
喵手14 分钟前
你知道,如何使用Java的多线程机制优化高并发应用吗?
java·后端·java ee
渣哥28 分钟前
10年Java老司机告诉你:为什么永远不要相信浮点数相等
java
Faith-小浩浩1 小时前
macos 多个版本的jdk
java·macos·jdk
喵手1 小时前
Java异常处理最佳实践:如何避免捕获到不必要的异常?
java·后端·java ee
猿java1 小时前
精通MySQL却不了解OLAP和 OLTP,正常吗?
java·后端·面试
渣哥1 小时前
面试官:为什么阿里巴巴要重写HashMap?ConcurrentHashMap哪里不够用?
java
喵手1 小时前
Java中的HashMap:你了解它的工作原理和最佳实践吗?
java·后端·java ee
weixin_456588152 小时前
【java面试day16】mysql-覆盖索引
java·mysql·面试