javascript
SpringMVC组件说明以及配置代码
DispatcherServlet:前段控制器
用戶請(qǐng)求到達(dá)前端控制器,相當(dāng)于MVC模式中的C,DispatcherServlet是整個(gè)流程控制的中心,由于它調(diào)用其他組件處理用戶的請(qǐng)求,它的存在降低了組件之間的耦合性。
HandlerMapping:處理器映射器
負(fù)責(zé)根據(jù)用戶請(qǐng)求的url找到Hnadler即處理器,springmvc提供了不同的映射器實(shí)現(xiàn)不同的映射方式,比如:配置文件方式、實(shí)現(xiàn)接口方式、注解方式等。
Hnadler:處理器
Handler是繼DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler對(duì)具體的用戶請(qǐng)求進(jìn)行處理。由于Handler涉及到具體的業(yè)務(wù)請(qǐng)求,所以一般情況需要根據(jù)業(yè)務(wù)需求開發(fā)Handler。
HandlerAdapter:處理器適配器
通過HandlerAdapter對(duì)處理器進(jìn)行執(zhí)行,這只是適配器模式的應(yīng)用,通過擴(kuò)展適配器可以對(duì)更多類型的處理器進(jìn)行執(zhí)行。
ViewResolver:視圖解析器
ViewResolver負(fù)責(zé)將處理結(jié)果生成View視圖,View Resolver首先根據(jù)邏輯視圖名解析成程物理視圖名即具體的頁(yè)面地址,再生成VIew視圖對(duì)象,最后對(duì)View進(jìn)行渲染將處理結(jié)果通過頁(yè)面展示給用戶。
View:視圖
Spring提供了很多的View視圖類型的支持,包括:JSTLView、FreeMarkerView、PDFView等,常用的是jsp。一般情況下需要由程序員根據(jù)業(yè)務(wù)需求開發(fā)具體的頁(yè)面。
?
默認(rèn)加載的組件:
不做任何配置,就可以使用這些組件,因?yàn)榭蚣芤呀?jīng)默認(rèn)加載這些組件了。
?
組件掃描器:
使用組件掃描器省去了在sprign容器配置每個(gè)Controller類的繁瑣
使用<context:component-scan>自動(dòng)掃描標(biāo)記@Controller的控制器類,在springmvc.xml配置文件如下:
<!--配置controller掃描包,多個(gè)包之間用,分隔-->
<context:component-scan base-package="cn.springmvc.controller"/>配置處理器映射器:
注解式處理器映射器,對(duì)類中標(biāo)記了@RequestMapping的方法進(jìn)行映射,根據(jù)@RequestMapping定義的url匹配@RequestMapping標(biāo)記的方法,匹配成功返回HandlerMethod對(duì)象給前端控制器。
HandlerMethod對(duì)象中封裝url對(duì)應(yīng)的方法Method。
在springmvc.xml配置文件中配置如下:
<!--配置處理器映射器--><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>配置處理器適配器:
注解式處理器適配器,對(duì)標(biāo)記@RequestMapping的方法進(jìn)行適配。
在springmvc.xml配置文件中配置如下:
<!--配置處理器適配器--><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>注解驅(qū)動(dòng):
直接配置處理器映射器和處理器適配器比較麻煩,可以使用注解驅(qū)動(dòng)來加載。
SpringMVC使用<mvc:annotation-driven>自動(dòng)加載RequestMappingHandlerMapping和RequestMappingHandlerAdapter
可以在springmvc.xml配置文件中使用<mvc:annotation-driven>替代注解處理器和適配器的配置。
<!--注解驅(qū)動(dòng)--><mvc:annotation-driven/>視圖解析器:
視圖解析器使用SpringMVC框架默認(rèn)的InternalResourceViewResolver,這個(gè)視圖解析器支持JSP視圖解析。
在springmvc.xml配置文件中配置如下:
<!--配置視圖解析器--><beanclass = "org.springframework.web.servlet.view.InternalResourceViewResolver"><!--配置邏輯視圖的前綴--><property name="prefix" value="/WEB-INF/jsp/"/><!--配置邏輯視圖的后綴--><property name="suffix" value=".jsp"/></bean>邏輯視圖名需要在controller中返回ModelAndView指定,比如邏輯視圖名為Item,則最終返回的jsp視圖地址:
"WEB-INF/jsp/Item.jsp"
最終jsp物理地址:
前綴+邏輯視圖名+后綴
總結(jié)
以上是生活随笔為你收集整理的SpringMVC组件说明以及配置代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC框架结构以及架构流程
- 下一篇: Vue的条件渲染指令