1.Spring MVC的理解?
首先,MVC模型是模型,視圖,控制器的簡寫,其思想核心是通過將請求處理控制,業務邏輯,數據封裝,數據顯示等流程節點分離的思想來組織代碼。
所以,MVC是一種設計模式,而SpringMVC是一款基于MVC設計模式思想實現的MVC框架,屬于Spring技術棧的一部分。SpringMVC可以幫我們進行更加簡潔的web層開發,并且他天生與Spring框架集成,更利于架構的設計與搭建。
2.SpringMVC的工作原理(執行流程)?
1.客戶端(瀏覽器)發送請求,統一由DispatcherServlet攔截處理請求。
2.DispatcherServlet根據請求信息調用HandlerMapping.HandlerMapper根據uri去匹配查找能處理的Handler(也就是我們定義的Controller控制器),并會將請求涉及到攔截器和Handler一起封裝。
3.DispatcherServlet調用handlerAdapter適配執行Handler。
4.Handler完成對用戶請求的處理后,會返回一個ModelAndView模型視圖對象給DispatcherServlet。ModelAndView中包括了模型數據以及相應的視圖模型。Model是返回的數據對象,View是View視圖的邏輯名稱。
5.ViewResolver會根據邏輯View名稱查找并解析實際的View視圖文件,并根據DisperServlet返回的Model模型數據傳給View視圖文件,并進行渲染執行,產生響應結果。
6.DispaterServlet負責將相應結果,輸出至客戶端瀏覽器。
3.SpringMVC的核心組件有哪些?
DispatcherServlet:核心處理器,負責統一接收請求,將請求分發至不同的控制器,并負責客戶端響應。
HandlerMapping:處理器映射器,根據uri去匹配查找能處理的Handler,并會將請求涉及到攔截器和Handler一起封裝。
HandlerAdapter:處理器適配器,根據HandlerMapping找到Handler,適配執行對應的Handler;
Handler: 請求處理器,處理實際請求的處理器。
ViewResolver:視圖解析器,根據Handler返回的邏輯視圖名稱,解析并渲染真正的視圖文件,并傳遞給DispatcherServlet響應至客戶端