這篇文章主要介紹了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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。
新聞熱點
疑難解答