springmvc框架以請求為驅動,圍繞乙個中心servlet分派請求和其他功能。其核心類是dispatcherservlet,其頂層實現是servlet介面
我們通過一張圖來了解一下springmvc的執行流程,圖中實線表示springmvc框架提供的技術,不需要開發者實現,虛線表示需要開發者實現
流程說明:
請求者發出請求到dispatcherservlet(前置控制器,整個springmvc的控制中心),假設請求的url為:http://localhost:8080/springmvc/hello,如上url拆分成三部分:
http://localhost:8080為伺服器網域名稱,springmvc表示部署在伺服器上的web站點,hello表示控制器,如上url表示為:請求位於伺服器localhost:8080上的springmvc站點的hello控制器
handlerexecution將解析後的資訊傳遞給dispatcherservlet,如解析控制器對映等
dispatcherservlet呼叫處理器介面卡,其按照特定的規則去執行handler
handler讓具體的controller執行
controller將具體的執行資訊返回給handleradapter,如modelandview
handleradapter將檢視邏輯名或模型傳遞給dispatcherservlet
dispatcherservlet呼叫視**析器(viewresolver)來解析handleradapter傳遞的邏輯檢視名
視**析器將解析的邏輯檢視名傳給dispatcherservlet
dispatcherservlet根據視**析器解析的檢視結果,呼叫具體的檢視
最終檢視返回給請求者
Spring MVC 執行原理
在 spring mvc 訪問過程裡,每個請求都首先經過 許多的過濾器,經 dispatcherservlet 處理 1.請求首先 由 前端 dispatcherservlet 捕獲 3.如果有設定 首選執行 的 prehandler 方法,並把執行結果返回 dispatcherservlet 4....
SpringMVC執行原理
1.客戶端請求提交到dispatcherservlet 3.dispatcherservlet將請求提交到controller 4.controller呼叫業務邏輯處理後,返回modelandview 5.dispatcherservlet查詢乙個或多個viewresoler視 析器,找到model...
Spring MVC執行原理
spring mvc是spring提供的乙個強大而靈活的web框架。借助於註解,spring mvc提供了幾乎是pojo的開發模式,使得控制器的開發和測試更加簡單。這些控制器一般不直接處理請求,而是將其委託給spring上下文中的其他bean,通過spring的依賴注入功能,這些bean被注入到控制...