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并响应

流程图

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

流程图

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

相关推荐
忠于明白1 小时前
Spring AI 核心工作流
人工智能·spring·大模型应用开发·spring ai·ai 应用商业化
有梦想的攻城狮3 小时前
spring中的@RabbitListener注解详解
java·后端·spring·rabbitlistener
hello早上好3 小时前
BeanFactory 实现
后端·spring·架构
TracyCoder1235 小时前
接口限频算法:漏桶算法、令牌桶算法、滑动窗口算法
spring boot·spring·限流
异常君6 小时前
@Bean 在@Configuration 中和普通类中的本质区别
java·spring·面试
考虑考虑6 小时前
Jpa中的@ManyToMany实现增删
spring boot·后端·spring
噼里啪啦啦.9 小时前
Spring事务和事务传播机制
数据库·sql·spring
javadaydayup11 小时前
明明说好的国际化,可你却还是返回了中文
spring boot·后端·spring
程序员秘密基地11 小时前
基于vscode,idea,java,html,css,vue,echart,maven,springboot,mysql数据库,在线考试系统
java·vue.js·spring boot·spring·web app