溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spring MVC組件的知識點(diǎn)有哪些

發(fā)布時間:2021-11-03 11:31:22 來源:億速云 閱讀:132 作者:iii 欄目:編程語言

這篇文章主要講解了“Spring MVC組件的知識點(diǎn)有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Spring MVC組件的知識點(diǎn)有哪些”吧!

1、SpringMVC的執(zhí)行流程(參照下圖)

Spring MVC組件的知識點(diǎn)有哪些

1)用戶發(fā)送請求至前端控制器DispatcherServlet。

2DispatcherServlet收到請求調(diào)用HandlerMapping處理器映射器。

3)處理器映射器找到具體的處理器(可以根據(jù)xml配置、注解進(jìn)行查找),生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet

4DispatcherServlet調(diào)用HandlerAdapter處理器適配器。

5HandlerAdapter經(jīng)過適配調(diào)用具體的處理器(Controller,也叫后端控制器)

6Controller執(zhí)行完成返回ModelAndView

7HandlerAdaptercontroller執(zhí)行結(jié)果ModelAndView返回給DispatcherServlet。

8DispatcherServletModelAndView傳給ViewReslover視圖解析器。

9ViewReslover解析后返回具體View。

10DispatcherServlet根據(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、freemarkerViewpdfView等。最常用的視圖就是 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ù)的keyvalue必須和配置的一模一樣。

例如:

params = {"accountName"},表示請求參數(shù)必須有accountName

params = {"moeny!100"},表示請求參數(shù)中money不能是100

 

(1)mvc命名空間引入

Spring MVC組件的知識點(diǎn)有哪些

2)組件掃描

SpringMVC基于Spring容器,所以在進(jìn)行SpringMVC操作時,需要將Controller存儲到Spring容器中,如果使用@Controller注解標(biāo)注的話,就需要使用<context:component-scan base-package=com.itheima.controller"/>進(jìn)行組件掃描。

4、SpringMVCXML配置解析

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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI