咱們知道MVC是一種經典的模式,把視圖、控制器以及數據分開,解耦了各模塊之間的關係。Spring Web MVC是基於Java實現的Web MVC設計模式,是一個請求驅動類型的輕量級Web框架,也就是藉助MVC設計模式的思想,將web層進行各個職責模塊解耦。基於請求驅動,指的是使用請求-響應模型。框架的目的就是封裝接口,簡化開發,Spring Web MVC也是要簡化平常Web開發。前端
在Spring MVC中,前端控制器是DispatcherServlet;應用控制器包括處理器映射器(Handler Mapping)進行處理器管理,以及視圖解析器(View Resolver)進行視圖管理;頁面控制器/處理器爲Controller接口(僅包含ModelAndView handleRequest(request, response) 方法)的實現(也能夠是任何的POJO類)。web
請求具體執行步驟以下:設計模式
一、 發送請求————>前端控制器,前端控制器根據請求信息(如URL)來決定選擇哪個頁面控制器進行處理,並把請求委託給該控制器;app
二、 頁面控制器接收到請求後,進行功能處理,綁定請求參數到命令對象,並進行驗證,而後將命令對象委託給業務對象進行處理;處理完畢後返回一個ModelAndView(模型數據和邏輯視圖名);框架
三、 前端控制器收回控制權,而後根據返回的邏輯視圖名,選擇相應的視圖,並把模型數據傳入以便視圖渲染;spa
四、 前端控制器將渲染後的視圖返回給用戶。設計