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...