一、 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.
展望未来:项目不知道怎么样,但是生活回归正轨,备战四级考试,锻炼身体
其实写写这东西还挺好