在springmvc中主要是圍繞著dispatcherservlet來設計,可以把它當做指揮中心。這裡先說明一下springmvc文件給出的執行流程,然後是我們稍微具體的執行流程,最後是流程大致的原始碼跟蹤。關於很很很詳細的原始碼解析,這裡暫先不做。
官方文件中的流程
首先看下springmvc文件上給的流程圖:
使用者請求首先傳送到前端控制器dispatcherservlet,dispatcherservlet根據請求的資訊來決定使用哪個頁面控制器controller(也就是我們通常編寫的controller)來處理該請求。找到控制器之後,dispatcherservlet將請求委託給控制器去處理。
接下來頁面控制器開始處理使用者請求,頁面控制器會根據請求資訊進行處理,呼叫業務層等等,處理完成之後,會把結果封裝成乙個modelandview返回給dispatcherservlet。
前端控制器dispatcherservlet接到頁面控制器的返回結果後,根據返回的檢視名選擇相應的試圖模板,並根據返回的資料進行渲染。
最後前端控制器dispatcherservlet將結果返回給使用者。
更具體的流程
上面只是總體流程,接下來我們稍微深入一點,看下更具體的流程,這裡沒有圖,只有步驟解析:
使用者請求傳送到前端控制器dispatcherservlet。
dispatcherservlet接收到執行鏈之後,會呼叫handler介面卡去執行handler。
handler介面卡執行完成handler(也就是我們寫的controller)之後會得到乙個modelandview,並返回給dispatcherservlet。
dispatcherservlet接收到handler介面卡返回的modelandview之後,會根據其中的檢視名呼叫視**析器。
視**析器根據邏輯檢視名解析成乙個真正的view檢視,並返回給dispatcherservlet。
dispatcherservlet接收到檢視之後,會根據上面的modelandview中的model來進行檢視渲染完成之後,dispatcherservlet就可以將結果返回給使用者了。
SpringMVC執行流程
執行流程 第一步 發起請求到前端控制器 dispatcherservlet 可以根據xml配置 註解進行查詢 第四步 前端控制器呼叫處理器介面卡去執行handler 第五步 處理器介面卡去執行handler 第六步 handler執行完成給介面卡返回modelandview 第七步 處理器介面卡向前...
Spring MVC執行流程
1 使用者發起請求,請求到dispatcherservlet前端控制器 dispatcherservlet 排程 負責 request 和response 負責呼叫處理器對映器查詢 handler 負責呼叫處理器介面卡執行 handler 有了前端控制器降低了各各元件之間的耦合性,系統擴充套件性提高...
SpringMVC執行流程
首先明確,執行流程中涉及到了哪些元件 前端控制器 dispatcherservlet 相當於乙個訊號中心,任何交流都需要經過他,再分配給其他元件 處理器介面卡 handleradapter 相當於手,當找到了對應的控制器,根據控制器選擇對應的介面卡,然後用這個介面卡去執行確定了的控制器 處理器 co...