SpringMVC的工作流程

2021-10-07 02:50:50 字數 1139 閱讀 4088

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

dispatcherservlet對請求url進行解析,得到請求資源識別符號(uri):

判斷請求uri對應的對映

不存在:

判斷是否配置了mvc:default-servlet-handler:

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

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

存在:執行下面流程

dispatcherservlet 根據獲得的handler,選擇乙個合適的handleradapter。

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

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

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

資料轉換:對請求訊息進行資料轉換。如string轉換成integer、double等

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

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

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

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

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

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

將渲染結果返回給客戶端

spring MVC 工作流程

1 首先來配置一下dispatcherservlet spring mvc和大部分mvc框架一樣,底層也是依賴servlet api的,所以spring mvc的請求處理也是從乙個servlet開始,這個servlet就是dispatcherservlet.以下是在web.xml中dispatche...

Spring MVC 工作流程

接收請求,響應結果,相當於 器,處理器。有了dispatcherservlet減少了其它元件之間的耦合度。根據請求的url查詢handler按照特定規則 handleradapter要求的規則 去執行handler注意 編寫handler時按照handleradapter的要求去做,這樣介面卡才可以...

SpringMVC工作流程

springmvc的工作流程如下 在填充handler的入參過程中,根據你的配置,spring將幫你做一些額外的工作 httpmessageconveter 將請求訊息 如json xml等資料 轉換成乙個物件,將物件轉換為指定的響應資訊 資料轉換 對請求訊息進行資料轉換。如string轉換成int...