1. 程式人生 > >SpringMVC執行原理及介面解釋

SpringMVC執行原理及介面解釋

1.Spring MVC概述:
Spring MVC是Spring提供的一個強大而靈活的web框架。藉助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡單。這些控制器一般不直接處理請求,而是將其委託給Spring上下文中的其他bean,通過Spring的依賴注入功能,這些bean被注入到控制器中。
Spring MVC主要由DispatcherServlet、處理器對映、處理器(控制器)、檢視解析器、檢視組成。他的兩個核心是兩個核心:
處理器對映:選擇使用哪個控制器來處理請求
檢視解析器:選擇結果應該如何渲染
通過以上兩點,Spring MVC保證瞭如何選擇控制處理請求和如何選擇檢視展現輸出之間的鬆耦合。
2.SpringMVC執行原理

(1) Http請求:客戶端請求提交到DispatcherServlet。
(2) 尋找處理器:由DispatcherServlet控制器查詢一個或多個HandlerMapping,找到處理請求的Controller。
(3) 呼叫處理器:DispatcherServlet將請求提交到Controller。
(4)(5)呼叫業務處理和返回結果:Controller呼叫業務邏輯處理後,返回ModelAndView。
(6)(7)處理檢視對映並返回模型:DispatcherServlet查詢一個或多個ViewResoler檢視解析器,找到ModelAndView指定的檢視。
(8) Http響應:檢視負責將結果顯示到客戶端。


3.SpringMVC介面解釋
(1)DispatcherServlet介面:
Spring提供的前端控制器,所有的請求都有經過它來統一分發。在DispatcherServlet將請求分發給Spring Controller之前,需要藉助於Spring提供的HandlerMapping定位到具體的Controller。
(2)HandlerMapping介面:
能夠完成客戶請求到Controller對映。
(3)Controller介面:
需要為併發使用者處理上述請求,因此實現Controller介面時,必須保證執行緒安全並且可重用。
Controller將處理使用者請求,這和Struts Action扮演的角色是一致的。一旦Controller處理完使用者請求,則返回ModelAndView物件給DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和檢視(View)。
從巨集觀角度考慮,DispatcherServlet是整個Web應用的控制器;從微觀考慮,Controller是單個Http請求處理過程中的控制器,而ModelAndView是Http請求過程中返回的模型(Model)和檢視(View)。
(4)ViewResolver介面:
Spring提供的檢視解析器(ViewResolver)在Web應用中查詢View物件,從而將相應結果渲染給客戶。
4.DispatcherServlet:
是整個Spring MVC的核心。它負責接收HTTP請求組織協調Spring MVC的各個組成部分。其主要工作有以下三項:
(1)截獲符合特定格式的URL請求。
(2)初始化DispatcherServlet上下文對應WebApplicationContext,並將其與業務層、持久化層的WebApplicationContext建立關聯。
(3)初始化Spring MVC的各個組成元件,並裝配到DispatcherServlet中。