具體執行步驟如下:
1、 首先用戶發送請求————>前端控制器,前端控制器根據請求信息(如URL)來決定選擇哪一個頁面控制器進行處理並把請求委託給它,即以前的控制器的控制邏輯部分;圖中的1、2步驟;
2、 頁面控制器接收到請求後,進行功能處理,首先需要收集和綁定請求參數到一個對象,這個對象在Spring Web MVC中叫命令對象,並進行驗證,然後將命令對象委託給業務對象進行處理;處理完畢後返回一個ModelAndView(模型數據和邏輯視圖名);圖中的3、4、5步驟;
3、 前端控制器收回控制權,然後根據返回的邏輯視圖名,選擇相應的視圖進行渲染,並把模型數據傳入以便視圖渲染;圖中的步驟6、7;
4、 前端控制器再次收回控制權,將響應返回給用戶,圖中的步驟8;至此整個結束。
前段控制器就是DsipatcherServlet,DispatcherServlet其實就是一個Servlet,它繼承了HttpServlet這個抽象類。
SpringMVC視圖解析器,InternalResourceViewResolver(內部資源視圖解析器),它是URLBasedViewResolver的子類。