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

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. 视图负责将结果显示到浏览器(客户端)。

http://www.kler.cn/a/599021.html

相关文章:

  • qt实现一个简单http服务器和客户端
  • 豪越科技消防一体化:数字中国智慧应急的关键支撑
  • Vue3自定义指令实现前端权限控制 - 按钮权限
  • 全球新闻系统发布 -- 项目启动环节
  • 固定翼无人机姿态和自稳模式
  • 区块链技术
  • [笔记] TinyWebServer编译及demo运行过程
  • React-Router路由跳转、传参、抽象封装以及嵌套路由
  • Redisson 分布式锁原理
  • webgl入门实例-06绘制多个大小不同点-深入理解buffer02
  • 【博客节选】再谈Unity 的 root motion
  • Mybatis注解的基础操作——02
  • WPF 样式(Style)和模板(Template)
  • 机器学习课堂4线性回归模型+特征缩放
  • 05STM32定时器-01定时器概述
  • 医学领域的deepseek:Med-R1,用强化学习开启医学视觉语言模型推理
  • Python与区块链隐私保护技术:如何在去中心化世界中保障数据安全
  • MySQL抖动浅析
  • 某个业务采用【规则引擎】重构大幅降低耗时
  • JavaScript |(七)BOM及JSON简介 | 轮播图 | 尚硅谷JavaScript基础实战