其實(shí)接觸SpringMVC已經(jīng)好長時(shí)間了鸠天,但是寫東西啥的沒想過逮壁,其實(shí)也是不怎么懂底層實(shí)現(xiàn)的原理,現(xiàn)在也不怎么懂粮宛,但是還是寫一寫窥淆,當(dāng)做自己的一個(gè)隨筆,有什么不對的地方歡迎指正巍杈。
springmvc是spring家族的產(chǎn)物忧饭,是實(shí)現(xiàn)springwebmvc的一個(gè)產(chǎn)物,配置比較簡單筷畦,建一個(gè)maven項(xiàng)目词裤,在maven項(xiàng)目中的pom.xml中添加maven依賴刺洒,在web.xml中去添加一些配置,首先是前置控制器的servlet吼砂,然后有一個(gè)默認(rèn)參數(shù)init-param,這個(gè)參數(shù)指代的類是spring-mvc.propertise配置文件的地址逆航,在下面有servlet-mapping標(biāo)簽,雖然我上一篇沒寫完渔肩,但是你們也應(yīng)該知道這個(gè)標(biāo)簽是干啥的因俐,其實(shí)就是匹配請求路徑的,里面的url-patten是/,表示任何請求都會(huì)到這個(gè)servlet里來周偎,這個(gè)servlet是前置控制器抹剩,處理所有請求,然后在下面還有一個(gè)監(jiān)聽器蓉坎,listener標(biāo)簽澳眷,還要把剛才的默認(rèn)屬性寫出去,這樣蛉艾,web,xml就搞完了钳踊,然后配置spring-mvc.properties文件,這個(gè)文件也很簡單勿侯,首先是掃描的標(biāo)簽箍土,然后是視圖解析器,視圖解析器也很簡單罐监,就是一個(gè)前綴和后綴而已吴藻,這樣,springmvc的配置就基本完成了弓柱,鼓鼓掌大家沟堡。
然后說一下springmvc的請求流程,這個(gè)其實(shí)也是不難理解的矢空,首先瀏覽器發(fā)送一個(gè)請求到前置控制器航罗,前置控制器會(huì)到處理映射器handleMapping去尋找映射的請求地址有沒有,如果有的話前置控制器就會(huì)拿著這個(gè)請求招待具體的handleAdpacher(處理適配器)去處理請求屁药,然后找到controller動(dòng)作處理器處理粥血,返回ModelAndView,返回到前置控制器之后,要經(jīng)過視圖處理器(viewresult)處理酿箭,然后response就拿著model返回到瀏覽器