Spring MVC 學(xué)習(xí)筆記(一)

spring mvc 是ssm框架中的一部分,springmvc是基于JAVA的實(shí)現(xiàn)MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)的web框架。通過注解的方式來web功能,簡(jiǎn)化開發(fā)。

? ?MVC體系結(jié)構(gòu)

三層架構(gòu)

我們?cè)陂_發(fā)過程中主要是遵循兩種形式,一種C/S架構(gòu),一種是B/S架構(gòu)。在JAVAEE開發(fā)中,幾乎全都是B/S架構(gòu)的開發(fā)。系統(tǒng)標(biāo)準(zhǔn)的三層架構(gòu)在B/S中廣泛運(yùn)用。

? ? 表現(xiàn)層:

????????也就是我們通常所說的web層,他負(fù)責(zé)接收客戶端發(fā)送過來的請(qǐng)求和將查詢出來的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),向客戶端響應(yīng)結(jié)果

? ? ? ? 表現(xiàn)層包括展示層和控制層:控制層負(fù)責(zé)接收數(shù)據(jù),展示層負(fù)責(zé)結(jié)果的展示。表現(xiàn)層依賴于業(yè)務(wù)層,接收到客戶端請(qǐng)求一般會(huì)調(diào)用業(yè)務(wù)層進(jìn)行業(yè)務(wù)處理,并將處理好的結(jié)果反饋給客戶端,而我們所說的mvc模型是屬于表現(xiàn)層的。

? ? 業(yè)務(wù)層:

? ? ? ? service層,它負(fù)責(zé)業(yè)務(wù)邏輯處理

? ? 持久層:

? ? ? ? dao層負(fù)責(zé)數(shù)據(jù)持久化

MVC設(shè)計(jì)模式

mvc全名為model view controller。是模型-視圖-控制器的縮寫。一種用設(shè)計(jì)創(chuàng)建web應(yīng)用程序表現(xiàn)層的模式

model: 包含了業(yè)務(wù)模型和數(shù)據(jù)模型,數(shù)據(jù)模型用于封裝數(shù)據(jù)。業(yè)務(wù)模型用于處理業(yè)務(wù)

view:通常指的是jsp或者h(yuǎn)tml。作用是用于數(shù)據(jù)展示

controller:是應(yīng)用程序中處理用戶交互的部分,作用一般就是處理程序邏輯。

mvc執(zhí)行流程


流程執(zhí)行:

第一步:用戶發(fā)送請(qǐng)求到前端控制器DispatcherServlet

第二步:DispatcherServlet收到請(qǐng)求調(diào)用handleMapping處理映射器

第三步:處理器映射器根據(jù)請(qǐng)求Url找到具體的handler(后端控制器),生成處理器對(duì)象及處理器攔截器一并返回DispatcherServlet

第四步:DispatcherServlet調(diào)用HandlerAdapter處理器適配器去調(diào)用Handler

第五步:處理器適配器執(zhí)行Handler

第六步:Handler執(zhí)行完成給處理器適配器返回ModelAndView

第七步:處理器適配器向前端控制器返回 ModelAndView,ModelAndView 是SpringMVC 框架的一個(gè)底層對(duì) 象,包括 Model 和 View

第八步:前端控制器請(qǐng)求視圖解析器去進(jìn)行視圖解析,根據(jù)邏輯視圖名來解析真正的視圖。

第九步:視圖解析器向前端控制器返回View

第十步:前端控制器進(jìn)行視圖渲染,就是將模型數(shù)據(jù)(在 ModelAndView 對(duì)象中)填充到 request 域

第十一步:前端控制器向用戶響應(yīng)結(jié)果

Spring MVC九大組件????

1.HandlerMapping(映射處理器)

HandlerMapping是用來查找Handler的,就是處理器。具體的表現(xiàn)形式可以是類,也可以是方法

2.HandlerAdapter(處理器適配器)

讓固定的servlet處理方法調(diào)用hanndler來進(jìn)行處理

3.viewResolver(視圖解析器)

將string類型的視圖名和locale解析為View類型的視圖,只有一個(gè)resolveViewName()方法。

4.requestToViewNameTranslator

從請(qǐng)求中獲取viewname

5.localeResolver

國際化解析器

6.ThemeResolver

主題解析器

7.MultipartResolver

請(qǐng)求上傳

8.FalshMapManager

重定向時(shí)參數(shù)傳遞

9.handleExceptionReslover

處理異常解析器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容