SpringMVC執行原理

靠譜楊 發表於 2021-11-27
Spring

先上一張原理圖

 

SpringMVC執行原理

 

-- 序號為執行順序,實線箭頭為SpringMVC內部執行,虛線為使用者執行 --

開始理解流程

1、首先使用者發起請求,請求被DispatcherServlet攔截(在web.xml中配置)

 

2、攔截之後去尋找請求對應的對映器

(HandlerMapping為處理器對映。DispatcherServlet呼叫HandlerMapping,HandlerMapping根據請求url查詢Handler。)

SpringMVC執行原理

3、HandlerExecution表示具體的Handler。

其主要作用是根據url查詢控制器並將解析後的資訊返回給DispatcherServlet,前四步完成!

 

4、下面是5 6 7 8的步驟

 

(5)HandlerAdapter表示處理器介面卡,其按照特定的規則(使用者寫的Controller)去執行Handler。

SpringMVC執行原理

(6)Handler讓具體的Controller執行。

SpringMVC執行原理

(7)Controller將具體的執行資訊返回給HandlerAdapter,如ModelAndView。

(8)HandlerAdapter將檢視邏輯名或模型傳遞給DispatcherServlet。

5、下面是9 10 11的步驟

 

(9)DispatcherServlet呼叫檢視解析器(ViewResolver)來解析HandlerAdapter傳遞的邏輯檢視名。(獲得model and view 中的資料,解析檢視名字,拼接檢視路徑)

SpringMVC執行原理

 

 

 (10)檢視解析器將解析的邏輯檢視名傳給DispatcherServlet。

(11)DispatcherServlet根據檢視解析器解析的檢視結果,呼叫具體的檢視。

 

6、最後一步,第12步返回View給使用者

 

流程大概可以分為三個部分

SpringMVC執行原理