一文拿捏SpringMVC的调用流程

SpringMVC的调用流程

1.核心元素:

  • DispatcherServlet(前端控制器)
  • HandlerMapping(处理器映射器)
  • HandlerAdapter(处理器适配器) ---> Handler(处理器)
  • ViewResolver(视图解析器 )---> view(视图)

2.调用流程

  1. 用户发送请求到前端控制器
  2. 前端控制器接收用户请求并交由处理器映射器进行映射处理
  3. 处理器映射器找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给前端控制器
  4. 前端控制器调用处理器适配器,适配具体的处理器(controller/handler)
  5. 处理器执行后生成ModelAndView对象并返回给前端控制器
  6. 前端控制器将拿到的ModelAndView对象交由视图解析器进行解析
  7. 视图解析器将解析后的视图(view)返回给前端控制器
  8. 前端控制器根据拿到的视图进行渲染(数据模型填充视图)
  9. 前端控制器响应用户请求

详细总图

相关推荐
paopaokaka_luck2 小时前
基于SpringBoot+Vue的少儿编程培训机构管理系(WebSocket及时通讯、协同过滤算法、Echarts图形化分析)
java·vue.js·spring boot·后端·spring
阿挥的编程日记4 小时前
基于SpringBoot的高校(学生综合)服务平台的设计与实现
java·spring boot·后端·spring·mybatis
爱吃烤鸡翅的酸菜鱼9 小时前
从数据库直连到缓存预热:城市列表查询的性能优化全流程
java·数据库·后端·spring·个人开发
心勤则明11 小时前
Spring AI 会话记忆实战:从内存存储到 MySQL + Redis 双层缓存架构
人工智能·spring·缓存
Zz_waiting.11 小时前
Spring 原理
java·spring·spring自动管理
烙印60121 小时前
Spring容器的心脏:深度解析refresh()方法(上)
java·后端·spring
我真的是大笨蛋21 小时前
Redis的String详解
java·数据库·spring boot·redis·spring·缓存
七七七七0721 小时前
【Linux 系统】打开文件和文件系统
linux·运维·spring
sg_knight1 天前
Spring Cloud与RabbitMQ深度集成:从入门到生产级实战
java·spring boot·spring·spring cloud·消息队列·rabbitmq·stream
Bug退退退1231 天前
Java 网络流式编程
java·服务器·spring·sse