**前言:**在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 用于存储一个请求的输出,当进入另一个请求时作为该请求的输入,通常用于重定向场景
- 前言
- 配置Maven并新建项目遇到的问题
- 使用Maven管理Spring
- maven项目使用spring报java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListe
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架
- 使用MyBatis_Generator生成Dto、Dao、Mapping
- Maven创建web项目具体过程
- Spring MVC常用注解整理
- DispatcherServlet中一些特殊的Bean总结