SpringMVC 執行流程

2021-10-02 18:30:55 字數 1290 閱讀 5229

1.使用者向伺服器傳送請求,請求被springmvc前端控制器dispatcherservlet捕獲;

2.dispatcherservlet對請求的url進行解析,得到請求資源識別符號(uri):判斷請求uri對應的對映

1)不存在:

(1)再判斷是否配置了mvc:default-servlet-handler;

(2)如果沒有配置,則控制台報對映查詢不到,客戶端顯示404錯誤

(3)如果有配置,則執行目標資源(一般為靜態資源,如jsp,html)

2)存在:

(1)執行下面流程

4.dispatcherservlet根據獲得handler,選擇乙個合適的handleradapter;

5.如果成功獲得handleradapter,此時將開始執行***的prehandle(...)方法【正向】

6.提取request中的模型資料,填充handler入參,並開始執行handler(controller)方法,處理請求。在填充handler的入參過程中,根據你的配置,spring將幫你做一些額外的工作:

1)httpmessageconveter:將請求訊息(如json,xml等資料)轉換乙個物件,將物件轉換為指定的響應訊息。

2)資料轉換:對請求訊息進行資料轉換,例如將string轉換為integer,double等。

3)資料格式化:對請求訊息進行資料格式化。如將字串轉換成格式化數字或格式化日期等。

4)資料驗證:驗證資料的有效性(長度,格式等),驗證結果儲存到bindingresult或error中

7.handler執行完成後,向dispatcherservlet返回乙個modelandview物件;

8.此時將開始執行***的posthandle(..)方法【逆向】

9.根據返回的modelandview(此時會判斷是否存在異常:如果存在異常,則執行handlerexecutionresolver進行異常處理)選擇乙個合適的viewresolver(必須是已經註冊到spring容器中的viewresolver)返回給dispatcherservlet,根據model和view,來渲染檢視。

10.在返回給客戶端是需要執行***的aftercompletion方法【逆向】

11.將渲染結果返回給客戶端

其中的細節,如執行方法入參的填入等可以檢視:springmvc原始碼解析。

***的方法執行順序:***解析

額外工作:springmvc應用

異常處理:異常解析

SpringMVC執行流程

執行流程 第一步 發起請求到前端控制器 dispatcherservlet 可以根據xml配置 註解進行查詢 第四步 前端控制器呼叫處理器介面卡去執行handler 第五步 處理器介面卡去執行handler 第六步 handler執行完成給介面卡返回modelandview 第七步 處理器介面卡向前...

Spring MVC執行流程

1 使用者發起請求,請求到dispatcherservlet前端控制器 dispatcherservlet 排程 負責 request 和response 負責呼叫處理器對映器查詢 handler 負責呼叫處理器介面卡執行 handler 有了前端控制器降低了各各元件之間的耦合性,系統擴充套件性提高...

SpringMVC執行流程

首先明確,執行流程中涉及到了哪些元件 前端控制器 dispatcherservlet 相當於乙個訊號中心,任何交流都需要經過他,再分配給其他元件 處理器介面卡 handleradapter 相當於手,當找到了對應的控制器,根據控制器選擇對應的介面卡,然後用這個介面卡去執行確定了的控制器 處理器 co...