spring mvc的核心组件!
1.DispatcherServlet:
前置控制器,是整个流程控制的核心,控制其他组件的执行,进行统一的调度,降低组件之间的耦合性
2.Handler:
处理器,完成具体的业务逻辑,相当于Servlet和Action
3.HandlerMappig: DispatcherServlet接收到请求之后,通过HandlerMapping将不同的请求映射到不同的Handler
4.HandlerInterceptor:
处理器拦截器,是一个接口,如果需要完成一些拦截处理,可以实现该接口!
5.HandlerExecutionChain:
处理器执行链,包括两部分内容,Handler和HandlerInterceptor,
(系统会有一个默认的HandlerInterceptor,如果需要额外设置拦截!,可以添加拦截器!)
6.HandlerAdapter:
处理器适配器: Handler执行业务方法之前,需要进行一系列的操作,包括表单数据的验证,
数据类型的转换,将表单数据封装到javaBean等,这些操作都是由HandlerAdapter来完成,开发者
只需将注意力集中业务逻辑的处理上,DispatcherServlet通过HandlerAdapter执行不同的Handler
7.ModelAndView
装载了模型数据和视图信息,作为Handler的处理结果,返回给DispatcherServlet
8.viewResolver
视图解析器,Dispatcher通过它将逻辑视图转换为物理视图,最终渲染结果响应给客户端!
springmvc的工作流程
spring mvc的工作流程
1.客户端请求被DispatcherServlet接收
2.根据HandlerMapping映射到Handler
3.生成Handler和HandlerInterceptor
4.Handler和HandlerInterceptor以HandlerExecutionChain的形式一并返回给DispatcherServlet
5.DispatcherServlet通过HandlerAdapter调用Handler的方法完成业务逻辑处理
6.Handler返回一个ModelAndView给DispatcherServlet
7.DispatcherServlet将获取的ModelAndView对象传给ViewResolver视图解析器,将逻辑视图解析为物理视图
8.ViewResolver返回一个View给DispatcherServlet
9.DispatcherServlet根据View进行视图渲染(将模型数据Model填充到视图view中)
10.DispactherServlet将渲染的结果响应给客户端!
来自:虽然帅,但是菜的cxy