Spring MVC 執行流程

2021-10-02 12:10:59 字數 1856 閱讀 7120

springmvc是一種基於spring實現了web mvc設計模式的請求驅動型別的輕量級web框架,使用了mvc架構模式的思想,將web層進行職責解耦,並管理應用所需物件的生命週期,為簡化日常開發,提供了很大便利。

1、dispatcherservlet:前端控制器

使用者請求到達前端控制器,它就相當於 mvc 模式中的 c,dispatcherservlet 是整個流程控制的中心,由它呼叫其它元件處理使用者的請求,dispatcherservlet 的存在降低了元件之間的耦合性。

3、handler:處理器

handler 實際就是controller。由於 handler 涉及到具體的使用者業務請求,所以一般情況需要程式設計師根據業務需求進行開發。

5、viewresolver:視**析器

view resolver負責將處理結果生成 view 檢視,viewresolver 首先根據邏輯檢視名解析成物理檢視名即具體的頁面位址,再生成 view 檢視物件,最後對 view 進行渲染將處理結果通過頁面展示給使用者。

6、view:檢視

springmvc 框架提供了很多的 view 檢視型別的支援,包括:jstlview、freemarkerview、pdfview 等。我們最常用的檢視就是jsp。

執行流程 及 概要**實現(如下圖)

工作流程描述

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

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

4. 提取request中的模型資料,填充handler入參,開始執行handler(controller):

在填充handler的入參過程中,根據你的配置,spring將幫你做一些額外的工作,httpmessageconverter;

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

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

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

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

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

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

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

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

每次請求根據 request 的 url 從 multivaluemapurllookup 中檢索 controller 的 method;

確定處理請求的 method 後,接下來的任務就是引數繫結,把 request 中引數繫結到方法的形式引數上,這一步是整個請求處理過程中最複雜的乙個步驟。springmvc提供了兩種request引數與方法形參的繫結方法:

SpringMVC執行流程

執行流程 第一步 發起請求到前端控制器 dispatcherservlet 可以根據xml配置 註解進行查詢 第四步 前端控制器呼叫處理器介面卡去執行handler 第五步 處理器介面卡去執行handler 第六步 handler執行完成給介面卡返回modelandview 第七步 處理器介面卡向前...

Spring MVC執行流程

1 使用者發起請求,請求到dispatcherservlet前端控制器 dispatcherservlet 排程 負責 request 和response 負責呼叫處理器對映器查詢 handler 負責呼叫處理器介面卡執行 handler 有了前端控制器降低了各各元件之間的耦合性,系統擴充套件性提高...

SpringMVC執行流程

首先明確,執行流程中涉及到了哪些元件 前端控制器 dispatcherservlet 相當於乙個訊號中心,任何交流都需要經過他,再分配給其他元件 處理器介面卡 handleradapter 相當於手,當找到了對應的控制器,根據控制器選擇對應的介面卡,然後用這個介面卡去執行確定了的控制器 處理器 co...