淺談SpringMVC之DispatcherServlet

    Spring的MVC框架是圍繞一個DispatcherServlet其實就是個Servlet(它繼承自HttpServlet基類)來設計的,
    它支持可配置的處理器映射、視圖渲染、本地化、時區與主題渲染、文件上傳等
    控制器通常負責準備一個Map模型、填充數據、返回一個合適的視圖名等,同時它也能夠直接將數據
    寫到響應流中
    Spring的web模塊支持許多web相關的特性:
    一、清晰的職責分離 二、強大、直觀的框架和應用bean的配置 三、強大的適配能力、非侵入性和靈活性
    四、可複用的性 五、可定製的數據綁定和驗證 六、可定製的處理器映射和視圖解析 七、靈活的模型傳遞
    八、可定製的本地化信息、時區和主題解析 九、一個簡單但功能強大的JSP標籤庫 十、新增生命週期

    僅綁定到當前HTTP請求或HTTP會話的Bean類型
    
    DispatcherServlet初始化bean
    bean的類型                                做用
    
    HandleMapping            處理器映射。它會根據某些規則將進入容器的請求映射到具體的處理器
                                           以及一系列處理器攔截器上。    
    
    HandlerAdapter           處理器適配器。拿到請求所對應的處理器後,適配器將負責去調用該處
                                          理器,這使得DispatcherServlet無需關心具體的調用細節
    
    HandlerExceptionResolver 處理器異常解析器。它負責將捕獲的異常映射到不一樣的視圖上去,此處
                                                 還支持更復雜的異常處理代碼
    
    ViewResolver             視圖解析器。它負責將一個表明邏輯視圖名的字符串映射到實際的視圖
                                       類型View上
    LocaleResolver&
    LocaleContextResolver
   地區解析器和地區上下文解析器。它們負責解析客戶端所在的地區信息
                                               甚至時區信息,爲國際化的視圖定製提供了支持
    
    ThemeResovler            主題解析。它負責解析你web應用中可用的主題,好比提供一些個性化定
                                         制的佈局等
    
    MultipartResolver        解析multi-part的傳輸請求,好比支持經過HTML表單進行的文件上傳等
    
    FlashMapManager          FlashMap管理器。它可以存儲並取回兩次請求之間的FlashMap對象。後
                                             者可用於在請求之間傳遞數據,一般是在請求重定向的情境下使用    
                             
    DispatcherServlet維護了一個列表,其中保存了其所依賴的全部bean的默認實現。這個列表保存在包
    org.springframework.web.servlet下的DispatcherServlet.properties文件中。若是在web應用上下文
    WebApplicationContext中配置了某個特殊bean(如InternalResourceViewResolver)後,那麼框架就
    不會再使用bean ViewResolver的默認實現web

相關文章
相關標籤/搜索