繼前文掌握Spring核心運行原理後,本文進入Spring延伸產品——Spring MVC的學習。Spring MVC是基於Model 2架構的MVC框架,核心圍繞DispatcherServlet展開,負責攔截客戶端請求、協調組件處理、響應結果輸出。

啟用方式與Struts 1類似,本質是註冊一個Servlet。web.xml配置DispatcherServlet請求路徑映射,Web容器接收HTTP請求,匹配則轉發給DispatcherServlet處理。此階段屬Servlet標準流程,與Spring MVC框架本身無關。

DispatcherServlet接收請求後,執行分為兩關鍵步驟:
HandlerMapping配置,定位處理請求的Handler(控制器實現類)。HandlerAdapter封裝Handler,以統一介面調用具體實現。通俗理解:根據URL與映射關係(HandlerMapping)找到實現類(Handler),再由適配器(HandlerAdapter)統一封裝調用。

HandlerMapping配置兩大方式:XML配置檔與註解實現(均可參考實例代碼)。
Spring MVC支援多樣響應類型:HTML頁面、XML/JSON字串、圖片、PDF文檔等。流程三步驟:
Handler處理完成,返回ModelAndView給DispatcherServlet。DispatcherServlet透過ViewResolver配置,將邏輯視圖名解析為真實View物件。DispatcherServlet使用View對ModelAndView模型資料進行視圖渲染並發送客戶端。
此流程與Struts框架高度相似,建議對比前文Struts學習筆記,分析異同,靈活掌握兩大框架精髓。