springMVC工作原理


SpringMVC框架介紹

1) Spring MVC屬於SpringFrameWork後續產品,已經融合在Spring Web Flow裏面Spring 框架提供了構建 Web 應用程序的全功能MVC模塊。使用 Spring 插入的 MVC 架構,可以選擇是使用內置的 Spring Web 框架還是 Struts 這樣的 Web 框架。通過策略接口,Spring框架是高度可配置的,而且包含多種視圖技術,例如 JavaServer PagesJSP)技術、VelocityTilesiText POISpring MVC 框架並不知道使用的視圖,所以不會強迫您只使用 JSP 技術。

Spring MVC分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定製。

2) SpringMVC框架主要由DispatcherServlet、處理器映射、處理器(控制器)、視圖解析器、視圖組成。

135749995.jpg

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請求處理過程中的控制器ModelAndViewHttp請求過程中返回的模型(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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章