一文拿捏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. 前端控制器响应用户请求

详细总图

相关推荐
AI人工智能+电脑小能手18 小时前
【大白话说Java面试题 第155题】【06_Spring篇】第15题:Spring 如何解决循环依赖问题?
java·spring·循环依赖·三级缓存·aop代理
AI人工智能+电脑小能手21 小时前
【大白话说Java面试题 第156题】【06_Spring篇】第16题:Spring 用到了哪些设计模式?
java·spring·设计模式·代理模式·工厂模式
辰海Coding21 小时前
MiniSpring框架学习笔记-动态代理:如何在运行时插入逻辑?
java·笔记·学习·spring·动态代理
一路向北North1 天前
Spring Security OAuth2.0(16):密码模式
java·后端·spring
卓怡学长1 天前
w273基于springboot的智能笔记的开发与应用
java·spring boot·spring·intellij-idea
无心水2 天前
【全域智能营销实战】2、Spring AI 模块化架构深度解读:从 1.0 到 2.0 的演进与最佳实践
人工智能·spring·架构·harness·顶尖架构师·全域智能营销·harmess
livemetee2 天前
【关于Spring声明式事务】
java·后端·spring
Esaka_Forever2 天前
Python 完整内存管理机制详解
开发语言·python·spring
殳翰2 天前
spring对junit的支持
spring·junit·sqlserver
happyprince2 天前
09-vLLM KV Cache 系统完整分析
java·spring·vllm