SpringMVC实现原理
一、核心组件
1.DispatcherServlet:
前台控制器,使整个流程控制的核心,控制其他组件的执行,统一调度,降低组件之间的耦合性,相当于总 指挥。
2.HandlerMapping:
DispatcherServlet接受到请求之后,通过HandlerMapping讲不同的请求分发到不同的Handler。
3.Handler:
处理器,完成具体业务逻辑,相当于Servlet或Action
4.HandlerInterceptor
处理器拦截器,是一个接口
5.HandlerExecutionChain
处理器执行链,包括两部分内容:Handler和HandlerInterceptor
6.HandlerAdapter
处理器适配器,Handler执行业务方法之前,需要进行一系列的操作包括表单数据的验证,数据类型的转换,将表单数据封装到JavaBean等等,都是由HandlerAdapter来完成,DispatcherServlet通过HandlerAdapter执行不同的Handler。
7.ModelAndView
装载了模型数据和视图信息,作为Handler的处理结果,返回给DispatcherServlet
8.ViewResolver
视图解析器,DispatcherServlet通过它将逻辑视图解析成物理视图,最终将渲染结果响应给客户端
二、SpringMVC流程
首先需要一个前置控制器DispatcherServlet,作为整个流程的核心,由他去调用其它组件,共同完成业务。主要组件有两个:一是Controller,调用其业务方法Method,执行业务逻辑。二是ViewResolver视图解析器,将业务方法的返回值解析为物理视图和模型数据返回客户端。