SpringMVC實現原理及詳解

2021-09-08 13:38:00 字數 1557 閱讀 2578

1、spring mvc介紹

springmvc框架是以請求為驅動,圍繞servlet設計,將請求發給控制器,然後通過模型物件,分派器來展示請求結果檢視。其中核心類是dispatcherservlet,它是乙個servlet,頂層是實現的servlet介面。

2、springmvc使用

需要在web.xml中配置dispatcherservlet。並且需要配置spring***contextloaderlistener

org.springframework.web.context.contextloaderlistener

springmvc

org.springframework.web.servlet.dispatcherservlet

contextconfiglocation

classpath:spring/springmvc-servlet.xml

1如圖所示:

流程說明:

(1)客戶端(瀏覽器)傳送請求,直接請求到dispatcherservlet。

(3)解析到對應的handler後,開始由handleradapter介面卡處理。

(4)handleradapter會根據handler來呼叫真正的處理器開處理請求,並處理相應的業務邏輯。

(5)處理器處理完業務後,會返回乙個modelandview物件,model是返回的資料物件,view是個邏輯上的view。

(6)viewresolver會根據邏輯view查詢實際的view。

(7)dispaterservlet把返回的model傳給view。

(8)通過view返回給請求者(瀏覽器)

4、dispatcherservlet詳細解析

首先看下原始碼:

handleradapter:幫助dispatcherservlet處理對映請求處理程式的介面卡,而不用考慮實際呼叫的是 哪個處理程式。

handlerexceptionresolver:處理對映異常。

viewresolver:根據實際配置解析實際的view型別。

localeresolver:解決客戶正在使用的區域設定以及可能的時區,以便能夠提供國際化視野。

themeresolver:解決web應用程式可以使用的主題,例如提供個性化布局。

multipartresolver:解析多部分請求,以支援從html表單上傳檔案。

flashmapmanager:儲存並檢索可用於將乙個請求屬性傳遞到另乙個請求的input和output的flashmap,通常用於重定向。

handleradapter:

handleradapter介面-處理請求對映

annotationmethodhandleradapter:通過註解,把請求url對映到controller類的方法上。

handlerexceptionresolver:

handlerexceptionresolver介面-異常處理介面

annotationmethodhandlerexceptionresolver:通過註解進行異常處理。

viewresolver:

viewresolver介面解析view檢視。

springmvc的實現原理及詳解

1 spring mvc介紹 springmvc框架是以請求為驅動,圍繞servlet設計,將請求發給控制器,然後通過模型物件,分派器來展示請求結果檢視。其中核心類是dispatcherservlet,它是乙個servlet,頂層是實現的servlet介面。2 springmvc使用 需要在web....

SpringMVC的實現原理

springmvc本質上還是是使用的是servlet進行處理 並在其基礎上進行了封裝簡化開發流程,提高易用性,並使程式邏輯結構變得清晰。在原始的servlet上新增了如下的一些部分 1.基於註解的url對映 2.http表單引數轉變 3.全域性統一異常處理 4.的實現 springmvc的本質是個s...

springMVC執行流程及原理

spring的mvc執行原理 1.spring mvc 3.dispatcherservlet請請求提交到目標controller 4.controller進行業務邏輯 處理後,會返回乙個modelandview 5.dispathcher查詢乙個或多個viewresolver視 析器,找到mode...