1.說到Spring MVC就會想到它是基於MVC設計模式的思想來設計的:
那么MVC設計模式是什么呢? 下面來介紹一下
MVC 設計模式
MVC是模型(model)-視圖(view)-控制器(controller)的縮寫,是一種用於設計編寫Web應用程序的模式。
MVC設計模式的三大角色:
Model (模型)
模型層(Model):在模型層中又可以分為兩層,即Service層和Dao層,這兩層的主要功能是:
Service層:負責某些業務處理
Dao層:負責訪問數據庫,對數據的操作,獲取結果集等
View (視圖)
通常指的就是我們的jsp或者html。作用一般就是展示數據的。
主要負責顯示數據(Html、Css、jQuery等等)
Controller (控制器)
是應用程序中處理用戶交互的部分,作用一般就是處理程序邏輯的,主要功能是處理用戶的請求
2.介紹完MVC設計模式,讓我們來看看Spring MVC的三大組件分別是什么吧!
Spring MVC的三大組件:
處理器映射器(HandlerMapping):
作用:
1.實現類是存儲請求和處理器映射關系
2.接口類是對外提供訪問映射關系的功能
視圖解析器(ViewResolver):
作用:根據視圖名稱解析視圖對象
處理器適配器(HandlerAdapter):
作用:實現類提供適配
講完這些讓我們來看看Spring MVC的生命周期到底是什么樣的吧!(流程圖)
Spring MVC的生命周期(流程圖):
流程圖步驟解釋:
1:客戶端發出請求到http里面只要符合web.xml里面的配置就轉換到DispatcherServlet(前端控制器)來處理
2:前端控制器請求HandlerMapping(處理器映射器)尋找 Handler
3:處理器向DispatcherServlet(前端控制器)返回Handler(處理器)
4:DispatcherServlet(前端處理器)調用處理器適配器去執行Handler
5:Handler讓具體的Controller執行。
6:Handler執行完成給適配器返回 ModelAndView(存儲處理完后的結果數據,以及顯示該數據的視圖包括:Model和view)
7:ModelAndView將解析后的信息傳遞給DispatcherServlet(前端控制器),如解析控制器映射等
8:DispatcherServlet調用視圖解析器(ViewResolver)來解析ModelAndView傳遞的邏輯視圖名。
9:視圖解析器將解析的邏輯視圖名傳給DispatcherServlet。
10:DispatcherServlet根據視圖解析器解析的視圖結果,調用具體的視圖
11:最終視圖呈現給用戶(響應結果)