SpringMvc的核心组件和执行流程

一、 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的实现流程

1.客户端请求被DispatcherServlet接收

2.DispatcherServlet将请求映射到Handler

3.生成Handler以及HandlerInterceptor

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

5.DispatcherServlet通过HandlerAdapter执行Handler

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

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

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

三、流程图

四、生活

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

其实写写这东西还挺好

相关推荐
程序员清风14 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林55115 小时前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
NE_STOP18 小时前
springMVC-HTTP消息转换器与文件上传、下载、异常处理
spring
华仔啊20 小时前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing20 小时前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠2 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840822 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide2 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家2 天前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺2 天前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java