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

其实写写这东西还挺好

相关推荐
Swift社区1 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht2 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht2 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20242 小时前
Swift 数组
开发语言
吾日三省吾码3 小时前
JVM 性能调优
java
stm 学习ing3 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc4 小时前
《Python基础》之字符串格式化输出
开发语言·python
弗拉唐4 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
oi774 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器