当前位置: 首页 > news >正文

Spring MVC 执行流程:一个请求在 Spring MVC 中是如何执行的?

当用户发送一个 HTTP 向 Spring MVC 应用,该请求在 Spring MVC 的执行流程如下:

在这里插入图片描述

  1. 当用户向 Spring MVC 发起一个 HTTP 请求,该请求会被 Dispatcher Servlet(前端控制器)拦截;
  2. DispatcherServlet 调用 HandlerMapping(处理器映射器)找到具体的处理器(Handler)及拦截器,最后以 HandlerExecutionChain 执行链的形式返回给 DispatcherServlet。
  3. DispatcherServlet 将执行链返回的 Handler 信息发送给 HandlerAdapter(处理器适配器);
  4. HandlerAdapter 根据 Handler 信息找到并执行相应的 Handler(即 Controller 控制器)对请求进行处理;
  5. Handler 执行完毕后会返回给 HandlerAdapter 一个 ModelAndView 对象(Spring MVC 的底层对象,包括 Model 数据模型和 View 视图信息);
  6. HandlerAdapter 接收到 ModelAndView 对象后,将其返回给 DispatcherServlet ;
  7. DispatcherServlet 接收到 ModelAndView 对象后,会请求 ViewResolver(视图解析器)对视图进行解析;
  8. ViewResolver 解析完成后,会将 View 视图并返回给 DispatcherServlet;
  9. DispatcherServlet 接收到具体的 View 视图后,进行视图渲染,将 Model 中的模型数据填充到 View 视图中的 request 域,生成最终的 View(视图);
  10. 视图负责将结果显示到浏览器(客户端)。

相关文章:

  • css的背景
  • Linux Namespace(网络命名空间)系列二 --- 使用 Open vSwitch 和网络命名空间搭建虚拟网络
  • 前后端开发中,图片上传到不同格式(二进制数据ORbase64编码)
  • nuxt项目 详情页有阅读次数需要更新,有热门推荐列表需要更新适合做SSG吗
  • JSON相关的Java库使用指南
  • 本地部署 LangManus
  • 使用VS2022编译CEF
  • Python Web 框架选择策略:基于不同应用场景的实践指南
  • systemd-networkd 的 *.network 配置文件详解 笔记250323
  • 数据结构——b树b+树
  • 使用 ChartMuseum 容器搭建私有 Helm Chart 仓库
  • C++面试题总结
  • React+Ant Design的Layout布局实现暗黑模式切换
  • [极客大挑战 2019]Upload_3.19BUUCTF练习day3(2)
  • Ubuntu如何部署AI-Sphere-Butler(metahuman-stream)
  • 23种设计模式-创建型模式-抽象工厂
  • python中两个星号什么意思
  • C#入门学习记录(五)轻松掌握条件分支与循环语句
  • AI+金融 应用 使用DeepSeek、Qwen等大模型输入自然语言,得到通达信等行情软件公式代码,导入后使用
  • 日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(25):解释说明:という
  • 中国女足将于5月17日至6月2日赴美国集训并参加邀请赛
  • 2025上海科技节本周六启幕,机器人和科学家同走AI科学红毯
  • 人民币对美元即期汇率盘中创半年新高,离岸市场升破7.2
  • 5年建成强化城市核心功能新引擎,上海北外滩“风景文化都是顶流”
  • 巴军事行动致印度70%电网瘫痪
  • 工行回应两售出金条疑似有杂质:情况不属实,疑似杂质应为金条售出后的外部附着物