面試篇 SpringMVC工作流程

2021-10-07 20:27:49 字數 1144 閱讀 1941

springmvc主要是通過前端控制器controller中的註解來完成請求處理的。

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

首先使用者傳送請求————>前端控制器,前端控制器根據請求資訊(如url)來決定選擇哪乙個頁面控制器進行處理並把請求委託給它,即以前的控制器的控制邏輯部分;

頁面控制器接收到請求後,進行功能處理,首先需要收集和繫結請求引數到乙個物件,這個物件在spring web mvc中叫命令物件,並進行驗證,然後將命令物件委託給業務物件進行處理;處理完畢後返回乙個modelandview(模型資料和邏輯檢視名);

前端控制器收回控制權,然後根據返回的邏輯檢視名,選擇相應的檢視進行渲染,並把模型資料傳入以便檢視渲染;

前端控制器再次收回控制權,將響應返回給使用者,至此整個結束。

工作流程描述如下:

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

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

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

httpmessageconveter: 將請求訊息(如json、xml等資料)轉換成乙個物件,將物件轉換為指定的響應資訊資料轉換:對請求訊息進行資料轉換。如string轉換成integer、double等資料根式化:對請求訊息進行資料格式化。 如將字串轉換成格式化數字或格式化日期等資料驗證: 驗證資料的有效性(長度、格式等),驗證結果儲存到bindingresult或error中.

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

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

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

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

SpringMVC工作流理解

1a 客戶端發出http請求,只要請求形式符合web.xml 檔案中配置的 action的話,就由dispatcherservlet 來處理。1b dispatcherservlet再將http請求委託給對映器 的物件來將http請求交給對應的action來處理 2 對映器根據客戶的http請求,再...

工作流建模 工作流概念

工作流建模 工作流概念 1 案例 工作流系統得基本目的是處理案例。每個案例都有乙個唯一標識,而且每個案例的生命週期都是有限的。案例生命週期都處於某個特定狀態,該狀態由三個元素組成 1 案例相關的屬性的值 案例屬性是一系列同案例相關的變數。能夠用來管理案例。正是通過這些變數,才有可能指出在特定條件下某...

工作流Flowable實戰篇

二 高階篇 一 基礎篇 1.流程demo案例 2.流程模板匯入 3.流程模板部署 4.流程的模板的和xml顯示 5.流程定義的掛起與啟用 6.流程定義的刪除 7.流程定義檢視流程圖和xml 8.流程例項的啟動 9.流程例項掛起與啟用 10.流程例項的刪除 11.流程例項 跟蹤流程 12.流程例項 終...