巨集觀把握SpringMVC框架

2021-07-30 23:58:38 字數 2070 閱讀 1734

springmvc是乙個基於mvc的web框架,是spring框架的乙個模組,所以springmvc和spring無需通過中間整合層進行整合。我們先來看下spring的乙個架構模型,看springmvc在spring框架中所處的位置:

從圖中可以看出,springmvc是spring的乙個web框架,所以上圖中描述的是spring web mvc,它和struts2的功能差不多,下面我們來深入到springmvc內部,看它的幹了些啥,先看乙個圖:

這個圖描述了springmvc的整個執行的流程,乍一看有點暈乎,待我一步步分析,最後弄個流程圖出來就明白了。

結合上圖,我描述一下springmvc的執行流程:

向伺服器傳送http request請求,請求被前端控制器(dispatcherservlet)捕獲。

前端控制器根據獲得的handler,選擇乙個合適的處理器介面卡(handleradapter)去執行該handler。

處理器介面卡提取request中的模型資料,填充handler入參,執行處理器(handler)(也稱之為controller).

handler(controller)執行完成後,向處理器介面卡返回乙個modelandview物件,處理器介面卡再向前端控制器返回該modelandview物件(modelandview只是乙個邏輯檢視)。

根據返回的modelandview,前端控制器請求乙個適合的視**析器(viewresolver)(必須是已經註冊到spring容器中的viewresolver)去進行視**析,然後視**析器向前端控制器返回乙個真正的檢視view(jsp)。

前端控制器通過model解析出modelandview中的引數進行解析,最終展現出完整的view並通過http response返回給客戶端。

上面描述了一下springmvc的執行流程,如果還是有點模糊的話,我用下面這個流程圖來表示一下,也為了自己更好的理解整個執行流程:

經過這麼一分析,現在對springmvc的執行流程有了巨集觀上的了解了,從上面的分析可以看出,springmvc有幾個主要的元件,下面結合我們程式設計,來分析一下這幾個元件:

前端控制器dispatcherservlet(不需要程式設計師開發)。

作用:接收請求,響應結果,相當於**器,**處理器。有了dispatcherservlet減少了其它元件之間的耦合度。

處理器介面卡handleradapter(不需要程式設計師開發)。

作用:按照特定規則(handleradapter要求的規則)去執行handler。

處理器handler(需要程式設計師開發)。

注意:編寫handler時按照handleradapter的要求去做,這樣介面卡才可以去正確執行handler

視**析器viewresolver(不需要程式設計師開發)。

作用:進行視**析,根據邏輯檢視名解析成真正的檢視(view)

檢視view(需要程式設計師開發jsp)。

view是乙個介面,實現類支援不同的view型別(jsp、freemarker、pdf…)

【注】:不需要程式設計師開發的,需要程式設計師自己做一下配置即可。

現在看來,其實真正需要程式設計師開發的就兩大塊:乙個是handler,乙個是jsp,這樣的話,其實和struts2就差不多了,所以不要被上面那個一系列的流程給繞傻了。

整個springmvc的架構就總結到這吧,後面就要開始走進springmvc的世界了。

—–樂於分享,共同進步!

—–我的部落格主頁:

C 第一遍巨集觀把握

聽很多人說了很多關於二級c 的流言,比如 在你學完c 之後,學c 就一點問題也沒有了 在對付考試方面,總結加做題就可以了。去年,感覺c 離自己有段很遙遠的距離,便選擇了這一次再考,不管怎樣多的說法,學習方法還是不變的,第一步要做的便是巨集觀把握。在有了學習vb和c 語言的基礎,c 算是第三門程式語言...

springMVC框架學習

user createuser 匹配 user adfaf createuser user 12 createuser等url user createuser 匹配 user createuser user affa createuser等url user createuser?匹配 user cr...

spring mvc框架概述

1.spring的web框架圍繞dispatcherservlet設計。dispatcherservlet的作用是將請求分發到不同的處理器。2.spring的web框架包括可配置的處理器 handler 對映 視 析 本地化 local 解析 主題 theme 解析以及對檔案上傳的支援。3.spri...