1. 使用者向伺服器傳送請求,請求被spring 前端控制servelt dispatcherservlet捕獲;
2. 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)來處理所有請求?
首先,降低**耦合性。**重複。
其次,提高安全性。不是用過濾,**進行if判斷,若有疏漏,功虧一簣。
符合物件導向中的單一職責原則,**架構清晰,便於維護,最重要的是**可復用性高。如handleradapter可能會被用於處理多種handler。
Spring MVC工作流程描述
spring mvc 工作流程圖 圖一 圖二 1.使用者向伺服器傳送請求,請求被spring 前端控制servelt dispatcherservlet捕獲 3.dispatcherservlet 根據獲得的handler,選擇乙個合適的handleradapter。附註 如果成功獲得handler...
Struts工作流程
文章分類 招聘求職 乙個使用者的請求是通actionservlet來處理和 的。那麼,actionservlet如何決定把使用者請求 給哪個action物件呢?這就需要一些描述使用者請求路徑和action衍射關係的配置資訊了。在struts中,這些配置對映資訊都儲存在特定的xml檔案struts c...
zf工作流程
zend controller是使用mvc模式來構建乙個站點的基礎。zend controller體系是乙個輕量的,模組化和可擴充套件的體系。它只提供最核心的必要的部分,允許開發者有很大的自由來靈活地構建自己的站點。使用zend controller的站點,其檔案組織和 結構會比較相似。zend c...