天天看點

SpringMVC執行原理(SpringMVC底層是如何進行工作的?)

先上一張原理圖

SpringMVC執行原理(SpringMVC底層是如何進行工作的?)

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

開始了解流程

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

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

(HandlerMapping為處理器映射。DispatcherServlet調用HandlerMapping,HandlerMapping根據請求url查找Handler。)
SpringMVC執行原理(SpringMVC底層是如何進行工作的?)

3、HandlerExecution表示具體的Handler。

其主要作用是根據url查找控制器并将解析後的資訊傳回給DispatcherServlet,前四步完成!

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

(5)HandlerAdapter表示處理器擴充卡,其按照特定的規則(使用者寫的Controller)去執行Handler。
SpringMVC執行原理(SpringMVC底層是如何進行工作的?)
(6)Handler讓具體的Controller執行。
SpringMVC執行原理(SpringMVC底層是如何進行工作的?)
(7)Controller将具體的執行資訊傳回給HandlerAdapter,如ModelAndView。
(8)HandlerAdapter将視圖邏輯名或模型傳遞給DispatcherServlet。

5、下面是9 10 11的步驟

(9)DispatcherServlet調用視圖解析器(ViewResolver)來解析HandlerAdapter傳遞的邏輯視圖名。(獲得model and view 中的資料,解析視圖名字,拼接視圖路徑)
SpringMVC執行原理(SpringMVC底層是如何進行工作的?)
 (10)視圖解析器将解析的邏輯視圖名傳給DispatcherServlet。
(11)DispatcherServlet根據視圖解析器解析的視圖結果,調用具體的視圖。

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

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

SpringMVC執行原理(SpringMVC底層是如何進行工作的?)

作者:​​靠譜楊​​​

我可能不是天才,但我會努力成為人才。

更多日常分享盡在我的VX公衆号:小楊的挨踢IT生活