1. MVC概念
MVC是一種編程思想,它將應用分為模型(Model)、視圖(View)、控制器(Controller)三個層次,這三部分以最低的耦合進行協同工作,從而提高應用的可擴展性及可維護性。
-
模型(Model)
模型層主要包括實體類Bean(存儲業務數據的類,如Student)和處理業務邏輯的Bean(如Service、Dao)。
-
視圖(View)
用戶與應用程序交互的、展示數據的界面,例如工程中的html頁面。
-
控制器(Controller)
工程中的servlet,接收視圖層發出的請求,將請求轉給模型,響應用戶請求渲染視圖。
2. Spring MVC概念
Spring MVC全稱Spring Web MVC,通常稱為Spring MVC,是基于MVC思想的應用框架,它是Spring提供的一個實現了Web MVC設計模式的輕量級Web框架。
3. Spring MVC核心組件
Spring MVC框架主要有前端控制器、處理器映射器、處理器適配器、處理器、視圖解析器等組成。
-
前端控制器DispatcherServlet
用于接收用戶請求、轉發用戶請求、響應結果, DispatcherServlet是整個流程控制的中心,由它調用其他組件處理用戶請求,分發到具體的對應Controller,從而獲取到需要的業務數據Model,Model再通過DispatcherServlet傳遞給View完成頁面呈現。
-
處理器映射器HandlerMapping
映射URL到處理器,根據請求的URL找到對應的Handler。
-
處理器適配器HandlerAdapter
將各種Controller適配成DispatcherServlet可以執行的Handler。
-
處理器Handler
開發者編寫的業務邏輯,Controller-Service業務。
-
視圖解析器ViewResolver
進行視圖的解析,負責將處理結果生成View視圖。
4. Spring MVC工作原理
-
客戶端發送請求到前端控制器DispatcherServlet;
-
由DispatcherServlet控制器尋找一個或多個HandlerMapping,找到處理請求的Controller;
-
DispatcherServlet將請求提交到Controller;
-
Controller調用業務邏輯處理后,返回ModelAndView;
-
DispatcherServlet請求視圖解析器ViewResoler,找到ModelAndView指定的視圖;
-
視圖負責將結果顯示到客戶端。