1)使用者向伺服器傳送請求,請求被springmvc前端控制器dispatcherservlet捕獲
2)dispatcherservlet對請求url進行解析,得到請求資源識別符號uri:
判斷請求uri對應得對映
① 不存在:
* 再判斷是否配置類mvc:default-servlet-handler:
* 如果沒有配置,則控制台報對映查詢不到,客戶端展示404錯誤
* 如果有配置,則執行目標資源(一般是靜態資源,比如js、css、html)
②存在:
* 執行下面流程
4)dispatcherservlet 根據獲得的handler,選擇乙個合適的handleradapter。
5)如果成功獲得handleradapter後,此時將開始執行***的prehandler(…)方法【正向】
6)提取request中得模型資料,填充handler入參,開始執行handler(controller)方法,處理請求。再填充handler得入參工程1中,根據配置,spring將做一些額外的工作:
① httpmessageconveter:將請求訊息(如json,xml等資料)轉換成乙個物件,將物件轉換為指定得響應資訊。
② 資料轉換:對i請求訊息進行資料轉換。比如string轉換成integer、double等。
③ 資料格式化:對請求訊息進行資料格式化。如將字串格式化成數字、格式化日期等
④ 資料驗證:驗證資料得有效性(長度、格式等),驗證結果存到bindingresult或者error中。
7)handler執行完成後,向dispatcherservlet 返回乙個modelandview物件
8)此時將開始執行***的posthandle(…)方法【逆向】
9)根據返回的modelandview(此時會判斷是否存在異常:如果存在異常,則執行handlerexceptionresolver進行異常處理)選擇乙個適合的viewresolver(必須是已經註冊到spring容器中的viewresolver)返回給dispatcherservlet,根據model和view,來渲染檢視
10)在返回給客戶端時需要執行***的aftercompletion方法【逆向】
11)將渲染結果返回給客戶端
SpringMVC執行流程分析
在整個 spring mvc 框架中,dispatcherservlet處於核心位置,負責協調和組織不同元件以完成請求處理並返回響應的工作 springmvc處理請求過程 1 若乙個請求匹配dispatcherservlet的請求對映路徑 在 web.xml 中指定 web 容器將該請求轉交給dis...
SpringMVC執行流程分析
springmvc執行過程,首先發起請求到前端控制器 dispatcherservlet 前端控制器向處理器對映器 handlermapping 進行請求查詢handler 可以根據xml配置 註解進這些配置資訊會告訴我們handler資訊 通過這些資訊告訴前端控制器找什麼樣的處理器介面卡 處理器對...
springmvc的執行流程分析
前幾篇文章對springmvc講解的很清楚,大家看下,有問題,我們再一起討論.其實springmvc最為重要是它的執行流程,接著,我們來分析一下,其執行過程,廢話不多說,看圖說話 分析如下 1,使用者發起請求到前端控制器 dispatchservice 4,前端控制器通過handleradapter...