入门案例中使用的组件介绍
DispatcherServlet:前端控制器
用戶請(qǐng)求到達(dá)前端控制器,它就相當(dāng)于mvc模式中的c,dispatcherServlet是整個(gè)流程控制的中心,由它調(diào)用其它組件處理用戶的請(qǐng)求,dispatcherServlet的存在降低了組件之間的耦合性。
?
HandlerMapping:處理器映射器
HandlerMapping負(fù)責(zé)根據(jù)用戶請(qǐng)求找到Handler即處理器,SpringMVC提供了不同的映射器實(shí)現(xiàn)不同的映射方式,例如:配置文件方式,實(shí)現(xiàn)接口方式,注解方式等。
?
Handler:處理器
它就是我們開(kāi)發(fā)中要編寫(xiě)的具體業(yè)務(wù)控制器。由DispatcherServlet把用戶請(qǐng)求轉(zhuǎn)發(fā)到Handler。由Handler對(duì)具體的用戶請(qǐng)求進(jìn)行處理。
?
HandlAdapter:處理器適配器
通過(guò)HandlerAdapter對(duì)處理器進(jìn)行執(zhí)行,這是適配器模式的應(yīng)用,通過(guò)擴(kuò)展適配器可以對(duì)更多類型的處理器進(jìn)行執(zhí)行。
?
View Resolver:視圖解析器
View Resolver負(fù)責(zé)將處理結(jié)果生成View視圖,View Resolver首先根據(jù)邏輯視圖名解析成物理視圖名即具體的頁(yè)面地址,再生成View視圖對(duì)象,最后對(duì)View進(jìn)行渲染將處理結(jié)果通過(guò)頁(yè)面展示給用戶。
?
View:視圖
SpringMVC框架提供了很多的View視圖類型的支持,包括:jstlView、freemarkerView、pdfView等。我們最常用的視圖就是jsp。 一般情況下需要通過(guò)頁(yè)面標(biāo)簽或頁(yè)面模版技術(shù)將模型數(shù)據(jù)通過(guò)頁(yè)面展示給用戶,需要由程序員根據(jù)業(yè)務(wù)需求開(kāi)發(fā)具體的頁(yè)面。
?
<mvc:annotation-driven>說(shuō)明
在SpringMVC的各個(gè)組件中,處理器映射器、處理器適配器、視圖解析器稱為SpringMVC的三大組件。 使用<mvc:annotation-driven>自動(dòng)加載RequestMappingHandlerMapping(處理映射器)和RequestMappingHandlerAdapter(處理適配器),可用在SpringMVC.xml配置文件中使用<mvc:annotation-driven>替代注解處理器和適配器的配置。
它就相當(dāng)于在xml中配置了:
<!-- 上面的標(biāo)簽相當(dāng)于 如下配置-->
<!-- Begin -->
<!-- HandlerMapping -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></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.ExceptionHandlerExceptionResolver"></bean>
<bean class="org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver"></bean>
<bean class="org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver"></bean>
<!-- End -->
注意:
一般開(kāi)發(fā)中,我們都需要寫(xiě)上此標(biāo)簽(雖然從入門(mén)案例中看,我們不寫(xiě)也行,隨著課程的深入,該標(biāo)簽還有具體的使用場(chǎng)景)。
明確: 我們只需要編寫(xiě)處理具體業(yè)務(wù)的控制器以及視圖。
總結(jié)
以上是生活随笔為你收集整理的入门案例中使用的组件介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 入门案例的流程总结
- 下一篇: RequestMapping注解的作用