SpringMVC的执行流程

SpringMVC的执行流程

一.jsp(视图版本)

1.用户发出请求到前端控制器DispatcherServlet

2.前端控制器收到请求调用处理器映射器HandlerMapping

3.处理器映射器找到具体的处理器handler,生成处理器对象及处理器拦截器(如果有),再一起返回给前端控制器;

handler:就是Ctroller对象中的方法 映射器存储方式map,key:接口路径 value:对象#方法名

4.前端控制器调用处理器适配器HandlerAdapter

5.处理器设配器经过设配调用具体的处理器Handler/Controller

处理器设配器主要处理参数和返回值

6.Controller执行完成返回ModelAanView对象

7.处理器设配器将Controller执行结果ModeAndView返回给前端控制器

8.前端控制器把ModelAndView转给视图解析器ViewReslover

9.视图解析器解析后返回具体视图View

10.前端控制器根据View进行渲染视图

11.前端控制器响应用户

二.前后端开发,接口开发

1.用户发出请求给前端控制器

2.前端控制器收到请求后调用处理器映射器

3.处理器映射器找到具体的handler,生成处理器对象返回给前端控制器

4.前端控制器调用处理器适配器

5.处理器设配器调用handler/Controller

6.方法上添加了@ResponseBody 或 再类上添加@RestCtoller

7.通过HttpMessageConverter来返回结果转换为JSON并响应

流程图

用流程图的方式展示出来更好的方便记忆。

流程图

用流程图的方式展示出来更好的方便记忆。

相关推荐
老K的Java兵器库1 小时前
Metaspace OOM 排查实录:一次 Spring 热部署爆掉 256 M 元空间
java·jvm·spring
知其然亦知其所以然2 小时前
SpringAI让Java会画画?用Azure OpenAI生成AI图片太惊艳了!
后端·spring·openai
LB21124 小时前
苍穹外卖-缓存套餐 Spring Cache day07
java·spring boot·spring
W.Buffer4 小时前
SpringCloud-Sentinel实战与源码分析:从流量防护到底层实现
spring·spring cloud·sentinel
召摇6 小时前
Spring Security入门指南
后端·spring·面试
迎風吹頭髮7 小时前
Linux内核架构浅谈44-Linux slab分配器:通用缓存与专用缓存的创建与使用
linux·spring·架构
zl97989921 小时前
SpringBoot-自动配置原理
java·spring boot·spring
李贺梖梖21 小时前
Spring初始
spring
zl9798991 天前
SpringBoot-入门介绍
java·spring boot·spring
Knight_AL1 天前
Redis 限流解决方案:结合 Lua 脚本、AOP 和自定义注解的实现
redis·spring