spring mvc請求處理流程

2021-07-25 15:46:34 字數 1273 閱讀 8793

從web.xml中 servlet的配置開始, 根據servlet攔截的url-parttern,來進行請求**

spring mvc工作流程圖

圖一

圖二

spring工作流程描述

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

3. dispatcherservlet 根據獲得的handler,選擇乙個合適的handleradapter。(附註:如果成功獲得handleradapter後,此時將開始執行***的prehandler(...)方法)

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

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

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

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

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

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

6.  根據返回的modelandview,選擇乙個適合的viewresolver(必須是已經註冊到spring容器中的viewresolver)返回給dispatcherservlet ;

7. viewresolver 結合model和view,來渲染檢視

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

spring工作流程描述

為什麼spring只使用乙個servlet(dispatcherservlet)來處理所有請求?

詳細見j2ee設計模式-前端控制模式

符合物件導向中的單一職責原則,**架構清晰,便於維護,最重要的是**可復用性高。如handleradapter可能會被用於處理多種handler。

SpringMVC處理請求流程

springmvc核心處理流程 3 handleradapter處理器介面卡,處理一些功能請求,返回乙個modelandview物件 包括模型資料 邏輯檢視名 4 viewresolver視 析器,先根據modelandview中設定的view解析具體檢視 5 然後再將model模型中的資料渲染到v...

SpringMVC請求處理流程

springmvc請求處理流程 具體步驟 1 首先使用者傳送請求到前端控制器,前端控制器根據請求資訊 如 url 來決定選擇哪乙個頁面控制器進行處理並把請求委託給它,即以前的控制器的控制邏輯部分 圖中的 1 2 步驟 2 頁面控制器接收到請求後,進行功能處理,首先需要收集和繫結請求引數到乙個物件,這...

SpringMVC處理請求流程

springmvc核心處理流程 3 handleradapter處理器介面卡,處理一些功能請求,返回乙個modelandview物件 包括模型資料 邏輯檢視名 4 viewresolver視 析器,先根據modelandview中設定的view解析具體檢視 5 然後再將model模型中的資料渲染到v...