spring-mvc基本架構-2

Spring MVC

1、原理(執行流程)

 

 

2、DispatcherServlet

DispatcherServletSpring mvc框架中的Front Controller,它負責接收所有的web請求,只是針對具體的處理邏輯,它會委派給它的下一級控制器去實現,即Controller,Controller則對應Page Controller,具體關係圖如下。

 

3、HandlerManpping

HandlerManpping專門用來管理Web請求到具體的處理類之間的映射關係,在web請求到達DispatcherServlet之後,DispatcherServlet將尋求具體的HandlerManpping的實現類的實例,以獲取對應當前web請求的具體處理類,即Controller

4、Controller

Controller是對應DispatcherServlet的次級控制器,它本身實現了對應某個具體的web請求的處理邏輯。在我們所使用的HandlerManpping查找到當前web請求對應哪一個Controller的具體實例之後,DispatcherServlet即可獲得HandlerManpping返回的結果,並調用Controller的處理方法來處理當前的web請求。當Controller處理方法處理完畢之後,將返回一個ModelAndView的實例。

5、ModelAndView

該實例包含視圖的邏輯名稱(或具體的試圖實例)。DispatcherServlet將根據該視圖的邏輯名稱,來決定爲用戶顯示那個視圖。同時包含模型數據,視圖渲染過程中需要將這些模型數據併入視圖中。

6View

Spring mvc通過引入View接口定義,來統一地抽象視圖的生成策略。之後DispatcherServlet只需要根據Spring Cotroller處理完畢後通過ModelAndView返回的邏輯視圖名稱查找到具體的View實現,然後委派改具體的View實現類來根據模型數據,輸出具體的視圖即可。

7ViewResolver

HandlerManpping幫助DispatcherServlet查找具體的Spring Controller以處理web請求類似,DispatcherServlet現在需要依賴一個ViewResolver來幫它處理邏輯視圖名與具體的View實例之間的映射對應關係。ViewResolver將根據ModelAndView總的邏輯視圖名來查找相應的View實現類,然後將查找的結果返回DispatcherServletDispatcherServlet將結合ModelAndView中的模型數據交給View來處理最終的視圖渲染。

發佈了40 篇原創文章 · 獲贊 25 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章