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.
展望未来 :项目不知道怎么样,但是生活回归正轨,备战四级考试,锻炼身体

其实写写这东西还挺好

相关推荐
极客代码3 分钟前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
疯一样的码农9 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
代码之光_198010 分钟前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端
ajsbxi16 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
&岁月不待人&31 分钟前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
StayInLove34 分钟前
G1垃圾回收器日志详解
java·开发语言
对许38 分钟前
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“
java·log4j
鹿屿二向箔39 分钟前
基于SSM(Spring + Spring MVC + MyBatis)框架的咖啡馆管理系统
spring·mvc·mybatis
无尽的大道42 分钟前
Java字符串深度解析:String的实现、常量池与性能优化
java·开发语言·性能优化
爱吃生蚝的于勒1 小时前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法