01_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)

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

 【流程圖】

【流程圖說明】

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.前端控制器DispatcherServletModelAnView傳給視圖解析器ViewResolver

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

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

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

(注意顏色)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM