牛骨文教育服务平台(让学习变的简单)

前言:在Spring MVC文档中有关于DispatcherServlet中Bean的总结,做个笔记。我个人有个习惯,觉得自己记不住的东西就写下来以后翻着看,心里留个印象。所以需要说明的是,这些东西其实并不需要强制记忆…实际项目中理解需求,合理运用就好。

正文:
DispatcherServlet中使用的是WebApplicationContext作为默认的上下文。在这个上下文中有一些Bean值得总结。

1.Controller:页面控制器,处理器,怎么理解都行。熟悉Spring MVC的人都知道Controller是整个应用的核心Bean。它主要是做一些对请求的处理。
2.HandlerMapping:请求到处理器的映射。如果映射成功,返回一个HandlerExecutionChain对象,其中包含一个Handler处理器对象,几个HandlerInterceptor对象。例如BeanNameUrlHandlerMapping将URL与Bean名字映射,映射成功的Bean就是此处的处理器。
3.HandlerAdapter:顾名思义,它会把处理器包装为适配器,从而支持多种类型的处理器。如 SimpleControllerHandlerAdapter 将对实现了 Controller 接口的Bean 进行适配,并且调用处理器的 handleRequest 方法进行功能处理
4.ViewResolver:它将把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术;如InternalResourceViewResolver将逻辑视图名映射为jsp视图
5.LocalResover:本地化解析,因为 Spring 支持国际化,因此 LocalResover 解析客户端的 Locale 信息从而方便进行国际化
6.ThemeResovler:主题解析,通过它来实现一个页面多套风格,即常见的类似于软件皮肤效果
7.MultipartResolver:文件上传解析器,用来支持文件上传的
8.HandlerExceptionResolver:很明显,是用来处理异常的
9.RequestToViewNameTranslator:当处理器没有返回逻辑视图名等相关信息时,自动将请求 URL 映射为逻辑视图名。这种一般属于框架自定义功能。
10.FlashMapManager:用于管理 FlashMap 的策略接口,FlashMap 用于存储一个请求的输出,当进入另一个请求时作为该请求的输入,通常用于重定向场景