首頁  >  文章  >  Java  >  簡單介紹Spring mvc工作原理

簡單介紹Spring mvc工作原理

巴扎黑
巴扎黑原創
2017-09-08 09:40:042375瀏覽

這篇文章主要為大家詳細介紹了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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn