关于spring MVC 关键组件 & 流程

P1 : Spring MVC的关键组件

1:  核心类是当然是DispatcherServlet , Spring MVC 中的前端控制器,是整个流程的核心,负责接收请求并转到对应的处理组件。

2:  Handler: 处理器,完成具体的业务逻辑。对应着的是一个类的具体方法。

3:  HandlerMapping 完成URL到Controller的映射组件,当请求到DispatcherServet后,就是这个HandlerMapping依据

       URL去查找到了一个具体的HandlerExecutionChain.

4:  HandlerExecutionChain 实际上是对一个Handler与多个HandlerInterceptor 的包装。

5: HandlerInterceptor 处理拦截器,是一个接口,如果需要完成一些拦截的处理,可以在这个接口实现。 这个是一个处理链条,有

preHandler1,
preHandler2
 invoke the handler.
postHandle2
postHandle1
有:ConversionServiceExposingInterceptor 将 ConversionService放置在attribute里面。
有: ResourceUrlProviderExposingInterceptor 将 ResourceUrlProvider 放在request的atrribute里面。

6: HandlerAdapter: 处理器适配器,Handler执行业务方法前需要进行一系列的操作,包括表单数据验证,数据类型转换,将表单数据封装到JAVABean等,这些操作都是由HandlerAdapter完成。 DispatcherServlet通过HandlerAdapter来执行不同的Handler。

7:  ModelAndVidew 装载了模型数据与视图数据,作为Handler的处理接果返回给DispatcherServlet,

8:    ViewResolver, 视图解析器,DispatcherServlet通过它将逻辑视图解析为物理视图,最终奖徐然结果响应给客户端。

关于spring MVC 关键组件 & 流程