您好,登錄后才能下訂單哦!
這篇文章主要講解了“Spring MVC組件的知識點(diǎn)有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Spring MVC組件的知識點(diǎn)有哪些”吧!
1、SpringMVC的執(zhí)行流程(參照下圖)
(1)用戶發(fā)送請求至前端控制器DispatcherServlet。
(2)DispatcherServlet收到請求調(diào)用HandlerMapping處理器映射器。
(3)處理器映射器找到具體的處理器(可以根據(jù)xml配置、注解進(jìn)行查找),生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。
(4)DispatcherServlet調(diào)用HandlerAdapter處理器適配器。
(5)HandlerAdapter經(jīng)過適配調(diào)用具體的處理器(Controller,也叫后端控制器)。
(6)Controller執(zhí)行完成返回ModelAndView。
(7)HandlerAdapter將controller執(zhí)行結(jié)果ModelAndView返回給DispatcherServlet。
(8)DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器。
(9)ViewReslover解析后返回具體View。
(10)DispatcherServlet根據(jù)View進(jìn)行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)。DispatcherServlet響應(yīng)用戶。
2、SpringMVC組件解析
(1)前端控制器:DispatcherServlet
用戶請求到達(dá)前端控制器,它就相當(dāng)于 MVC 模式中的 C,DispatcherServlet 是整個流程控制的中心,由它調(diào)用其它組件處理用戶的請求,DispatcherServlet 的存在降低了組件之間的耦合性。
(2)處理器映射器:HandlerMapping
HandlerMapping 負(fù)責(zé)根據(jù)用戶請求找到 Handler 即處理器,SpringMVC 提供了不同的映射器實(shí)現(xiàn)不同的映射方式,例如:配置文件方式,實(shí)現(xiàn)接口方式,注解方式等。
(3)處理器適配器:HandlerAdapter
通過 HandlerAdapter 對處理器進(jìn)行執(zhí)行,這是適配器模式的應(yīng)用,通過擴(kuò)展適配器可以對更多類型的處理器進(jìn)行執(zhí)行。
(4)處理器:Handler
它就是我們開發(fā)中要編寫的具體業(yè)務(wù)控制器。由 DispatcherServlet 把用戶請求轉(zhuǎn)發(fā)到 Handler。由Handler 對具體的用戶請求進(jìn)行處理。
(5)視圖解析器:View Resolver
View Resolver 負(fù)責(zé)將處理結(jié)果生成 View 視圖,View Resolver 首先根據(jù)邏輯視圖名解析成物理視圖名,即具體的頁面地址,再生成 View 視圖對象,最后對 View 進(jìn)行渲染將處理結(jié)果通過頁面展示給用戶。
(6)視圖:View
SpringMVC 框架提供了很多的 View 視圖類型的支持,包括:jstlView、freemarkerView、pdfView等。最常用的視圖就是 jsp。一般情況下需要通過頁面標(biāo)簽或頁面模版技術(shù)將模型數(shù)據(jù)通過頁面展示給用戶,需要由程序員根據(jù)業(yè)務(wù)需求開發(fā)具體的頁面。
3、SpringMVC注解解析
@RequestMapping
作用:用于建立請求 URL和處理請求方法之間的對應(yīng)關(guān)系。
位置:類上,請求URL 的第一級訪問目錄。此處不寫的話,就相當(dāng)于應(yīng)用的根目錄方法上,請求 URL 的第二級訪問目錄,與類上的使用@ReqquestMapping標(biāo)注的一級目錄一起組成訪問虛擬路徑。
屬性:value用于指定請求的URL。它和path屬性的作用是一樣的;method用于指定請求的方式;params用于指定限制請求參數(shù)的條件。它支持簡單的表達(dá)式。要求請求參數(shù)的key和value必須和配置的一模一樣。
例如:
params = {"accountName"},表示請求參數(shù)必須有accountName
params = {"moeny!100"},表示請求參數(shù)中money不能是100
(1)mvc命名空間引入
(2)組件掃描
SpringMVC基于Spring容器,所以在進(jìn)行SpringMVC操作時,需要將Controller存儲到Spring容器中,如果使用@Controller注解標(biāo)注的話,就需要使用<context:component-scan base-package=“com.itheima.controller"/>進(jìn)行組件掃描。
4、SpringMVC的XML配置解析
SpringMVC有默認(rèn)組件配置,默認(rèn)組件都是DispatcherServlet.properties配置文件中配置的,該配置文件地址org/springframework/web/servlet/DispatcherServlet.properties,該文件中配置了默認(rèn)的視圖解析器,如下:
org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.Inter
nalResourceViewResolver
(1)視圖解析器
我們可以通過屬性注入的方式修改視圖的的前后綴
<!--配置內(nèi)部資源視圖解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
感謝各位的閱讀,以上就是“Spring MVC組件的知識點(diǎn)有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Spring MVC組件的知識點(diǎn)有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。