**前言:**在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總結