SpringMVC學習(一)--SpringMVC原理

SpringMVC學習(一)–SpringMVC原理

標籤(空格分隔): SpringMVC


傳統B/S的MVC模式

在MVC的設計模式中,一般用戶的請求路徑過程是:
請求過程:

用戶發起http request請求 –> 控制層(Controller)接收請求 –> 控制層請求校驗 –> 轉發到模型層 —> 模型層(Model)處理請求

響應過程

模型層(Model)處理完請求返回模型數據 –> 控制層接收模型數據 –> 控制層將模型數據轉發到視圖層(View)–> 視圖層解析模型數據生成結果視圖(例如:Html) –> 結果返回給用戶(http response)。

SpringMVC介紹

spring web mvc 和Struts2都屬於表現成框架,它屬於Spring體系的一部分,以下爲Spring的整體接口:
這裏寫圖片描述
從上圖可以得知,Spring web mvc可以說在Spring 體系中佔的比重還是相對比較重的

SpringMVC原理

根據上面對傳統mvc 請求路徑的分析,Spring mvc的整個執行路徑如下圖所示:
這裏寫圖片描述

1、用戶發送請求到前端控制器DispatcherServelet
2、DispatcherServlet收到請求調用HandlerMapper處理器映射器
3、HandlerMapper處理器映射器根據請求的url找到具體的處理器,生成處理器代理對象及處理器攔截器對象一併返回給DispatcherServlet。
4、DispatcherServlet通過HandlerAdapter處理器適配器調用處理器
5、執行處理器邏輯(Controller、也叫後端控制器)
6、Controller執行完請求之後返回ModelAndView對象
7、HandlerAdapter將Controller執行結果ModelAndView返回給DispatcherServlet
8、DispatcherServlet將ModelAndView傳遞給視圖解析器ViewReslover
9、ViewReslover解析返回具體的view
10、DispatcherServlet對View進行渲染視圖,(將模型數據塞到視圖中)
11、將視圖響應給用戶

組件說明

1、DispatcherServlet 前端控制器
DispatcherServlet作爲整個流程控制的中心,由它調用其他組件進行用戶請求,通過它的存在,降低其他組件之間的耦合性
2、HandlerMapping 處理器映射器
處理器映射器負責根據用戶請求的url找到對應的處理器。根據處理器映射器的類型對應不同的映射器方式,例如:配置文件形式、實現接口形式、註解方式等等
3、Handler 處理器
Handler相對於DispatcherServlet,相當於後端處理器,實現真正的用戶請求處理。(需要根據業務進行開發
4、HandlerAdapter 處理器適配器
處理器適配器定義瞭如果執行處理器,處理器根據適配器的類型定義,進行不同的實現方式
5、View Resolver 視圖解析器
視圖解析器負責將處理的結果解析成視圖。首先根據邏輯視圖名解析成物理視圖(具體的頁面地址),在生成View視圖對象,最後將View進行渲染將處理結果以頁面的形式展示給用戶。SpringMVC提供了多種視圖類型,jstlView\freemarkerView\pdfView.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章