日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

springmvc框架原理分析

發(fā)布時間:2025/3/17 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springmvc框架原理分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

springmvc全名是spring web mvc,springmvc是spring的一個模塊,并且看名字即可知道,springmvc是一個基于mvc設(shè)計模式的前端web框架。mvc:m(model模型)、v(view視圖)、c(control控制)

SpringMVC的工作原理圖:

1、發(fā)起請求到前端控制器(DispatcherServlet),該控制器中就會過濾出你哪些請求可以訪問該servlet哪些不可以,就是url-pattern的作用,并且會加載springmvc.xml配置文件

2、前端控制器會找到HandlerMapping(處理器映射器),通過HandlerMapping完成url到controller映射的組件,通俗點講,就是將在springmvc.xml中配置的或者注解的url與對應(yīng)的處理類找到并進行存儲,實際上是用一個map集合來保存這種映射關(guān)系,map<url,handler>; 這樣,就將所有的這種映射關(guān)系都記錄保存了下來

3、通過HandlerMapping有了這些映射關(guān)系,并且找到了url對應(yīng)的處理器,HandlerMapping就會將其處理器(圖中紅色標(biāo)明的handler)返回,在其返回之前,在加上很多的攔截器,其作用后面進行講解,這里知道在返回的處理器前會有很多的攔截器即可。

4、DispatcherServlet拿到了handler之后,找到HandlerAdapter(處理器適配器),通過它來訪問處理器,并且執(zhí)行處理器。

這里會有人會有疑惑,為什么需要處理器適配器,我們都獲得了處理類了,直接調(diào)用不就行了嗎?

不行,因為我們只知道處理類在哪里,并不知道執(zhí)行處理類中的哪個方法,其實也就是不知道處理類是通過哪種方式創(chuàng)建出來的,實現(xiàn)HttpRequestHandler?還是注解方式,或者是其他方式,我們不知道,所以需要HandlerAdapter來幫我們確認調(diào)用哪個方法。

5、執(zhí)行處理器

6、處理器會返回一個ModelAndView對象給HandlerAdapter

7、通過HandlerAdapter將ModelAndView對象返回給前端控制器(DispatcherServlet)

8、前端控制器請求視圖解析器(ViewResolver)去進行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖(jsp),其實就是將ModelAndView對象中存放視圖的名稱進行查找,找到對應(yīng)的頁面形成視圖對象

9、返回視圖對象到前端控制器。

10、視圖渲染,就是將ModelAndView對象中的數(shù)據(jù)放到request域中,用來讓頁面加載數(shù)據(jù)的。

11、通過第8步,通過名稱找到了對應(yīng)的頁面,通過第10步,request域中有了所需要的數(shù)據(jù),那么就能夠進行視圖渲染了。最后將其返回

組件說明:

DispatcherServlet:作為前端控制器,整個流程控制的中心,控制其它組件執(zhí)行,統(tǒng)一調(diào)度,降低組件之間的耦合性,提高每個組件的擴展性。

HandlerMapping:通過擴展處理器映射器實現(xiàn)不同的映射方式,例如:配置文件方式,實現(xiàn)接口方式,注解方式等。?

HandlAdapter:通過擴展處理器適配器,支持更多類型的處理器。

ViewResolver:通過擴展視圖解析器,支持更多類型的視圖解析,例如:jsp、freemarker、pdf、excel等。

轉(zhuǎn)載于:https://my.oschina.net/u/3873725/blog/1934376

總結(jié)

以上是生活随笔為你收集整理的springmvc框架原理分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。