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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。