1. 程式人生 > 程式設計 >SpringMVC的執行流程及元件詳解

SpringMVC的執行流程及元件詳解

這篇文章主要介紹了SpringMVC的執行流程及元件詳解,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、核心模組

資料庫訪問技術與整合:JDBC、XML等

Web與遠端呼叫技術:SpringMVC、WebServlet、WebSocket等

面向切面程式設計:AOP

基礎設施:Tomcat

Spring核心容器:Beans、Core、Context、Expression、ContestSupport

測試:Test

二、執行流程

1.使用者通過頁面傳送Ajax之類的請求,DispatcherServlet捕獲並解析使用者發來的請求URL,得到請求資源識別符號URI

2.DispatcherServlet根據URI呼叫HandlerMapping,HandlerMapping根據請求URL查詢Handler,並將請求對映為HandlerExecutionChain處理器執行鏈(包含處理器攔截器和處理器物件)

3.HandlerMapping返回HandlerExecutionChain給DispatcherServlet

4.DispatcherServlet根據獲得的Handler選擇HandlerAdapter,通過處理器介面卡呼叫具體的處理器,HandlerAdapter把處理器包裝為介面卡,並開始執行攔截器的preHandler()方法,並根據介面卡的結果呼叫真正的處理器的功能處理方法

5.呼叫具體的處理器Handler,在填充Handler的入參過程中spring將會進行:執行HttpMessageConveter、資料轉換、資料格式化、資料驗證,呼叫具體的Controller完成處理功能,並返回一個ModelAndView物件

6.Controller返回ModelAndView物件到HandlerAdapter

7.HandlerAdapter再將ModelAndView物件的檢視邏輯名或模型返回給DispatcherServlet

8.DispatcherServlet呼叫檢視解析器ViewResolver來解析HandlerAdapter傳遞過來的邏輯檢視名

9.ViewResolver將解析的邏輯檢視名傳遞給DispatcherServlet

10.DispatcherServlet根據解析出的檢視結果,呼叫具體的檢視,根據傳來的Model模型資料進行渲染

11.最後View返還控制權給DispatcherServlet,由DispatcherServlet返回最終檢視給使用者

三、核心元件

1.DispatcherServlet:前端控制器,控制中心

2.HandlerMapping:解析請求URL,解析出控制器,從而對映控制器,相關類有16個

3.HandlerAdapter:排程Controller來處理業務邏輯

4.ViewResolver:解析DispatcherServlet傳遞的邏輯檢視名,並將結果傳遞給DispatcherServlet

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。