SpringMvc的核心组件和执行流程

ops/2024/10/25 10:28:53/

springmvc_0">一、 springmvc的核心组件及作用

1.DispatcherServlet:前置控制器,是整个流程控制的核心,用来控制其他组件的执行,降低了其他组件的耦合性

2.Handler:控制器,完成具体的业务逻辑,当DispatcherServlet接收到请求后,会将不同的请求分发到不同的Handler中,而Handler的实现要靠HandlerMapping

3.HandlerMapping:将请求映射到Handler,根据不同的请求,找到不同的Handler

4.HandlerInterceptor:处理器拦截器,是一个接口,若要做一些拦截处理,可以实现这个接口,来完成对应的拦截功能

5.HandlerExceptionChain:处理器执行链

6.HandlerAdapter:处理器适配器,Handler在执行业务前执行一系列的操作(对表单数据的处理,数据转换等),DispatcherServlet通过它来给Handler分发请求

7.ModelAndView:装载模型数据和视图信息,视图信息指逻辑视图作为Handler的处理结果返回给DispatcherServlet

8.ViewResolver:视图解析器,将逻辑视图解析为物理视图,最终将结果渲染给客户端。

springmvc_17">二、springmvc的实现流程

1.客户端请求被DispatcherServlet接收

2.DispatcherServlet将请求映射到Handler

3.生成Handler以及HandlerInterceptor

4.返回HandlerExceptionChain(Handler + HandlerInterceptor),HandlerInteceptor至少包含一个(默认的)

5.DispatcherServlet通过HandlerAdapter执行Handler

6.返回一个ModelAndView,这个结果包含了逻辑视图和数据模型

7.DispatcherServlet通过ViewResolver进行解析,将逻辑视图转换成物理视图,并完成模型数据的封装

8.返回填充了模型数据的View,响应给客户端

三、流程图

SpringMvc流程图

四、生活

生活:前几天刚举行完运动会,也不知道怎么的大腿疼的要亖,感觉老想抽筋,跑完二百米就更疼了,膝盖也挺痛的。不过一切都会好起来的在这里插入图片描述
学习:项目就不说了,挺难的,感觉自己就用了一些简单的sql语句,麻烦一点的就是多态sql了,那些再难的查询什么的都没有,项目结束后要深入学习mysql,看能不能修改项目。也熬过两次夜,但是感觉效果不如早起,早起yyds.
展望未来:项目不知道怎么样,但是生活回归正轨,备战四级考试,锻炼身体
热爱生活
其实写写这东西还挺好在这里插入图片描述


http://www.ppmy.cn/ops/8375.html

相关文章

基于 Spring Boot 博客系统开发(一)

基于 Spring Boot 博客系统开发(一) 本系统是简易的个人博客系统开发,为了更加熟练地掌握SprIng Boot 框架及相关技术的使用。🤓🤓🤓 本系统开发所需的环境及相关软件 操作系统:Windows Java…

Avalonia 捕获全局异常(UI线程 和 非UI线程),增加客户端的稳定性

在 App.axaml.cs 中,App类添加下列事件; 1.重写 OnFrameworkInitializationCompleted ,会在程序初始化完成后触发 2. 绑定AppDomain中当前域的事件 AppDomain.CurrentDomain.UnhandledException HandleGlobalException; //UI线程 …

38. UE5 RPG 修改火球术的攻击方向以及按住Shift攻击

在前面,我们实现了火球术火球的制作,能够在释放火球术时,角色将播放释放技能动画,并实现了对火球的目标的服务器同步功能。 我们先回忆一下之前完成的内容。 在前面,我们先做了一个Actor,用于承载发射的火…

前端HTML面试题:meta 元素都有什么

在HTML中&#xff0c;<meta> 元素是一个非常重要且常用的元素&#xff0c;它用于表示关于HTML文档的元数据&#xff08;metadata&#xff09;&#xff0c;这些元数据不会直接显示在页面上&#xff0c;但可以被浏览器以及其他网页服务利用。在前端开发的面试中&#xff0c…

使用kafka的几种场景

1.消息异步化 在一个分布式的微服务架构中&#xff0c;实现一个聊天的功能&#xff0c;小明和小红互相给对方发消息&#xff0c;如果有两个netty服务器&#xff0c;小明连的是netty服务器1&#xff0c;小红连的是netty服务器2&#xff0c;现在小明给小红发消息&#xff0c;但是…

HTML知识点

知识点搜索网站 MDN 总的理解 这个东西是用来进行界面设计的&#xff0c;可以看成是一些简单的语法规则&#xff0c;然后创作者根据自己的审美&#xff0c;借助这个工具来进行创作 创建 创建一个html文件之后&#xff0c;输入&#xff01;&#xff0c;连续点击三下tab键&a…

爬虫入门——Request请求

目录 前言 一、Requests是什么&#xff1f; 二、使用步骤 1.引入库 2.请求 3.响应 三.总结 前言 上一篇爬虫我们已经提及到了urllib库的使用&#xff0c;为了方便大家的使用过程&#xff0c;这里为大家介绍新的库来实现请求获取响应的库。 一、Requests是什么&#xff1…

【数据结构】5.ArrayList与顺序表

目录 1.线性表 2.顺序表 2.1接口的实现 3.ArrayList简介 4.ArrayList使用 4.1ArrayList的构造 4.2ArrayList常见操作 4.3ArrayList的遍历 4.4ArrayList的扩容机制 5.ArrayList的具体使用 5.1简单的洗牌算法 5.2杨辉三角 1.线性表 线性表是n个具有相同特性的数据元素…