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