這篇文章主要為大家詳細介紹了Spring mvc工作原理的相關資料,具有一定的參考價值,有興趣的小伙伴們可以參考一下
SpringMVC框架介紹
Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。
Spring 框架提供了建構 Web 應用程式的全功能 MVC 模組。使用 Spring 可插入的 MVC 架構,可以選擇使用內建的 Spring Web 框架還是 Struts 這樣的 Web 框架。透過策略接口,Spring 框架是高度可配置的,而且包含多種視圖技術,例如 JavaServer Pages(JSP)技術、Velocity、Tiles、iText 和 POI。 Spring MVC 框架不知道使用的視圖,所以不會強迫您只使用 JSP 技術。
Spring MVC 分離了控制器、模型物件、分派器以及處理程序物件的角色,這種分離讓它們更容易進行自訂。
Spring的MVC框架主要由DispatcherServlet、處理器映射、處理器(控制器)、視圖解析器、視圖組成。
SpringMVC原理圖
#SpringMVC介面解釋
DispatcherServlet介面:
#Spring提供的前端控制器,所有的請求都有經過它來統一分發。在DispatcherServlet將請求分發給Spring Controller之前,需要藉助於Spring提供的HandlerMapping定位到具體的Controller。
HandlerMapping介面:
#能夠完成客戶請求到Controller對映。
Controller介面:
#需要為並髮使用者處理上述要求,因此實作Controller介面時,必須保證線程安全且可重複使用。
Controller將處理使用者請求,這和Struts Action扮演的角色是一致的。一旦Controller處理完使用者要求,則傳回ModelAndView物件給DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和視圖(View)。
從宏觀角度考慮,DispatcherServlet是整個Web應用的控制器;從微觀考慮,Controller是單一Http請求處理過程中的控制器,而ModelAndView是Http請求過程中傳回的模型(Model)和視圖(View )。
ViewResolver介面:
#Spring提供的視圖解析器(ViewResolver)在Web應用中尋找View對象,從而將相應結果渲染給客戶。
SpringMVC運作原理
1.用戶端要求提交到DispatcherServlet
2.由DispatcherServlet控制器查詢一個或多個HandlerMapping,找到處理要求的Controller
3.DispatcherServlet將請求提交到Controller
4.Controller呼叫業務邏輯處理後,返回ModelAndView
5.DispatcherServlet查詢一個或多個ViewResoler視圖解析器,找到ModelAndView指定的視圖
6.視圖負責將結果顯示到客戶端
DispatcherServlet是整個Spring MVC的核心。它負責接收HTTP請求組織協調Spring MVC的各個組成部分。其主要工作有以下三項:
1.截獲符合特定格式的URL請求。
2.初始化DispatcherServlet上下文對應的WebApplicationContext,並將其與業務層、持久化層的WebApplicationContext建立關聯。
3.初始化Spring MVC的各個組成元件,並組裝到DispatcherServlet中。
以上是簡單介紹Spring mvc工作原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!