主要針對的 入門案例 中的相關組件介紹
文章目錄
一、DispatcherServlet:前端控制器
用戶請求到達前端控制器,它就相當於 mvc 模式中的 c, dispatcherServlet
是整個流程控制的中心,由它調用其它組件處理用戶的請求, dispatcherServlet
的存在降低了組件之間的耦合性。
二、HandlerMapping:處理器映射器
HandlerMapping
負責根據用戶請求找到 Handler 即處理器, SpringMVC 提供了不同的映射器實現不同的映射方式,例如:配置文件方式,實現接口方式,註解方式等。
三、Handler:處理器
它就是我們開發中要編寫的具體業務控制器。由 DispatcherServlet
把用戶請求轉發到 Handler。由
Handler 對具體的用戶請求進行處理。
四、HandlAdapter:處理器適配器
通過 HandlerAdapter
對處理器進行執行,這是適配器模式的應用,通過擴展適配器可以對更多類型的處理器進行執行。
五、View Resolver:視圖解析器
View Resolver 負責將處理結果生成 View 視圖, View Resolver 首先根據邏輯視圖名解析成物理視圖名
即具體的頁面地址,再生成 View 視圖對象,最後對 View 進行渲染將處理結果通過頁面展示給用戶。
六、View:視圖
SpringMVC 框架提供了很多的 View 視圖類型的支持,包括: jstlView、 freemarkerView、 pdfView
等。我們最常用的視圖就是 jsp。
一般情況下需要通過頁面標籤或頁面模版技術將模型數據通過頁面展示給用戶,需要由程序員根據業務需求開發具體的頁面。
七、mvc:annotation-driven 說明
在 SpringMVC 的各個組件中,處理器映射器、處理器適配器、視圖解析器稱爲 SpringMVC 的三大組件。
使 用 <mvc:annotation-driven>
自 動 加 載 RequestMappingHandlerMapping
( 處 理 映 射 器 ) 和RequestMappingHandlerAdapter
( 處 理 適 配 器 ) , 可 用 在 SpringMVC.xml
配 置 文 件 中 使 用<mvc:annotation-driven>
替代註解處理器和適配器的配置。
它就相當於在 xml 中配置了:
<!-- 上面的標籤相當於 如下配置-->
<!-- Begin -->
<!-- HandlerMapping -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerM
apping"></bean>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerA
dapter"></bean>
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- HadnlerExceptionResolvers -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExcept
ionResolver"></bean>
<bean class="org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolv
er"></bean>
<bean class="org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver"
></bean>
<!-- End -->