當前位置:
首頁 > 知識 > SpringMVC流程架構

SpringMVC流程架構

【組件說明】

以下組件通常使用框架提供實現:

1.DisPatcherServlet:前端控制器(不需要程序員開發)

用戶請求到達前端控制器,它相當於MVC模式中的C(Controller),DispatcherServlet是整個流程式控制制的中心,由它調用其它組件處理用戶的請求,DispatcherServlet的存在降低了組件之間的耦合性。

作用:作為接受請求,相應結果,相當於轉發器,中央處理器,減少其他組件之間的耦合度。

2.HandlerMapping:處理器映射器(不需要程序員開發)

HandlerMapping負責根據用戶請求找到Handler(即:處理器),SpringMVC提供了不同的映射器實現實現不同的映射方式,例如:配置文件方式、實現介面方式、註解方式等。

作用:根據請求的Url 查找Handler

3.HandLer:處理器(需要程序員開發)

Handler是繼DispatcherServlet前端控制器的後端控制器,在DispatcherServlet的控制下,Handler對具體的用戶請求進行處理。

由於Handler設計到具體的用戶業務請求,所以一般情況需要程序員根據業務需求開發Handler。

注意:編寫Handler時按照HandlerAdpter的要求去做,這樣才可以去正確執行Handler。

4.HandlerAdapter:處理器適配器

通過HandlerAdapter對處理器進行執行,這是適配器模式的應用,通過擴展適配器可以對更多類型的處理器進行執行。

作用:按照特定的規則(HandlerAdapter要求的規則)去執行Handler

5.ViewResolver:視圖解析器(不需要程序員開發)

ViewResolver負責將處理結果生成View視圖,ViewResolver首先根據邏輯視圖名解析成物理視圖名,即具體的頁面地址,再生成View視圖對象,最後對View進行渲染將處理結果通過頁面的展示給用戶。SpringMVC框架提供了很多View視圖類型,包括:JSTLView、freemarkerView、pdfView等等.

作用:進行視圖解析,根據邏輯視圖名解析成真正的視圖(view)。

6.View視圖 (需要程序員開發 jsp)

View是一個介面,實現類支持不同的View類型(jsp、freemarker、pdf)

一般情況下需要通過頁面標籤或者頁面模板技術將模型數據通過頁面展示給用戶,需要由程序員根據業務需求開發具體的頁面。

【流程圖】

SpringMVC流程架構

【流程圖說明】

1.用戶發送請求至 前端控制器DispatcherServlet。

2.前端控制器DispatcherServlet收到請求後調用處理器映射器HandlerMapping。

3.處理器映射器HandlerMapping根據請求的Url找到具體的處理器,生成處理器對象Handler及處理器攔截器HandlerIntercepter(如果有則生成)一併返回給前端控制器DispatcherServlet。

4.前端控制器DispatcherServlet通過處理器適配器HandlerAdapter調用處理器Controller。

5.執行處理器(Controller,也叫後端控制器)

6.處理器Controller執行完後返回ModelAnView。

7.處理器映射器HandlerAdapter將處理器Controller執行返回的結果ModelAndView返回給前端控制器DispatcherServlet。

8.前端控制器DispatcherServlet將ModelAnView傳給視圖解析器ViewResolver。

9.視圖解析器ViewResolver解析後返回具體的視圖View。

10.前端控制器DispatcherServlet對視圖View進行渲染視圖(即:將模型數據填充至視圖中)

11.前端控制器DispatcherServlet響應用戶。

作者:SummerGoNow

轉自:https://www.cnblogs.com/HigginCui/p/5856780.html

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

CSS實現點擊事件及實踐
通俗易懂,C井如何安全、高效地玩轉任何種類的內存之Span

TAG:程序員小新人學習 |