Spring-mvc學(xué)習(xí)1.2資料.docx

Spring-mvc學(xué)習(xí)1.2資料.docx

ID:31830980

大小:8.17 MB

頁(yè)數(shù):31頁(yè)

時(shí)間:2019-01-20

Spring-mvc學(xué)習(xí)1.2資料.docx_第1頁(yè)
Spring-mvc學(xué)習(xí)1.2資料.docx_第2頁(yè)
Spring-mvc學(xué)習(xí)1.2資料.docx_第3頁(yè)
Spring-mvc學(xué)習(xí)1.2資料.docx_第4頁(yè)
Spring-mvc學(xué)習(xí)1.2資料.docx_第5頁(yè)
資源描述:

《Spring-mvc學(xué)習(xí)1.2資料.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、SpringWebMVC1SpringWebMVC是什么SpringWebMVC是一種基于Java的實(shí)現(xiàn)了WebMVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類(lèi)型的輕量級(jí)Web框架,即是使用了Model-View-Controller模式的思想,將數(shù)據(jù)、業(yè)務(wù)與展現(xiàn)進(jìn)行很好的分離。SpringWebMVC框架主要由DispatcherServlet、處理器映射、處理器、視圖解析器以及視圖組成。SpringWebMVC的設(shè)計(jì)是圍繞著DispatcherServlet展開(kāi)的,DispatcherServlet負(fù)責(zé)將請(qǐng)求派發(fā)到特定的Handler。通過(guò)可配置的handlermappin

2、gs、viewresolution、locale以及themeresolution來(lái)處理請(qǐng)求并且轉(zhuǎn)到對(duì)應(yīng)的視圖。2SpringWebMVC的功能非常簡(jiǎn)單的設(shè)計(jì)出干凈的Web層;進(jìn)行更簡(jiǎn)潔的web層的開(kāi)發(fā);與Spring框架集成(如Ioc容器、AOP);提供強(qiáng)大的約定大于配置的契約式編程支持(慣例優(yōu)先原則);能簡(jiǎn)單的進(jìn)行web層的單元測(cè)試(Mock);支持靈活的URL到頁(yè)面控制器的映射;非常容易與其他視圖技術(shù)集成,如velocity、FreeMarker等等(因?yàn)槟P蛿?shù)據(jù)放在model里,很容易被其他框架使用);非常靈活的數(shù)據(jù)驗(yàn)證、格式化(將數(shù)據(jù)轉(zhuǎn)換成某種類(lèi)

3、型的格式)和數(shù)據(jù)綁定機(jī)制,能使用任何對(duì)象進(jìn)行數(shù)據(jù)綁定,不必實(shí)現(xiàn)特定框架的API;提供一套強(qiáng)大的JSP標(biāo)簽庫(kù),簡(jiǎn)化JSP開(kāi)發(fā);支持靈活的本地化、主題等解析;更加簡(jiǎn)單的異常處理;對(duì)靜態(tài)資源的支持;支持Restful風(fēng)格;3SpringWebMVC架構(gòu)3.1SpringWebMVC處理請(qǐng)求流程如上圖所示是SpringWebMVC處理請(qǐng)求的流程圖,其處理請(qǐng)求的步驟如下所示:1,首先用戶(hù)發(fā)送請(qǐng)求給前端控制器,前端控制器根據(jù)請(qǐng)求信息(如URL)決定選擇哪一個(gè)頁(yè)面控制器進(jìn)行處理并把請(qǐng)求委托給控制器(即是控制器的控制邏輯部分),如上圖中的1和2步驟;2,頁(yè)面控制器接收到請(qǐng)

4、求后,進(jìn)行功能處理,首先需要收集和綁定請(qǐng)求參數(shù)到一個(gè)對(duì)象,這個(gè)對(duì)象在SpringWebMVC中叫命令對(duì)象(如普通的POJO對(duì)象),并進(jìn)行驗(yàn)證,然后將命令對(duì)象委托給業(yè)務(wù)對(duì)象進(jìn)行處理;處理完畢后返回一個(gè)ModelAndView(模型和邏輯視圖名),如上圖中的3、4和5步驟;3,前端控制器收回控制權(quán),然后根據(jù)返回的邏輯視圖名,選擇相應(yīng)的視圖進(jìn)行渲染,并把模型數(shù)據(jù)傳入以便視圖渲染,如上圖中的6和7步驟;4,前端控制器再次收回控制權(quán),將響應(yīng)返回給用戶(hù),如上圖中的步驟8,到此這個(gè)請(qǐng)求流程結(jié)束。3.2SpringWebMVC架構(gòu)上圖是SpringMVC的核心架構(gòu),核心架

5、構(gòu)的具體流程步驟如下:1,首先用戶(hù)發(fā)送請(qǐng)求給DispatcherServlet,前端控制器即DispatcherServlet接收到請(qǐng)求后自己不進(jìn)行處理,而是委托給其他的解析器進(jìn)行處理,作為統(tǒng)一訪問(wèn)點(diǎn),進(jìn)行全局的流程控制;2,DispatcherServlet把請(qǐng)求傳給HandlerMapping,HandlerMapping將會(huì)把請(qǐng)求映射為HandlerExecutionChain對(duì)象;3,DispatcherServlet把剛才接收到的handler對(duì)象交給HandlerAdapter,HandleAdapter將會(huì)根據(jù)適配的結(jié)果調(diào)用相應(yīng)的處理方法,完

6、成功能的處理,并返回一個(gè)ModelAndView(包含一些模型數(shù)據(jù),邏輯視圖名)對(duì)象;4,DispatcherServlet把邏輯視圖名傳給ViewResolver(如InternalResourceViewResource),將視圖解析為具體的View對(duì)象;5,View在經(jīng)過(guò)視圖渲染,之后返回控制權(quán)給DispatcherServlet,由DispatcherServlet返回響應(yīng)給用戶(hù),到此流程結(jié)束。因此從以上可知,前端控制器是在web.xml文件中進(jìn)行部署的,前端控制器通過(guò)HandlerMapping將請(qǐng)求信息轉(zhuǎn)發(fā)到頁(yè)面控制器即Controller中進(jìn)

7、行功能處理,而HandlerAdapter可以支持多種類(lèi)型的頁(yè)面控制器,而頁(yè)面控制器又通過(guò)SpringIoc容器的依賴(lài)注入功能使用業(yè)務(wù)對(duì)象。因此開(kāi)發(fā)SpringWebMVC的核心步驟主要有:在web.xml文件中部署DispatcherServlet,從而攔截請(qǐng)求到SpringWebMVC;配置HandlerMapping,從而將請(qǐng)求映射到處理器;配置HandlerAdapter,從而可以支持多種類(lèi)型的處理器;配置ViewResolver,從而將邏輯視圖名解析為具體視圖技術(shù);配置處理器(頁(yè)面控制器),進(jìn)行功能的處理。3.2.1DispatcherServl

8、etDispatcherServlet是前端控制器,主要進(jìn)行指責(zé)的

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。