SpringMVC工做流程

struts2與SpringMVC的區別前端

1) SpringMVC的入口時是servlet即前端控制器struts2的入口是filter過濾器web

2) SpringMVC是基於方法進行開發的(一個URL對應一個方法),請求參數傳遞到方法的形參,能夠設計爲單例或多例;Struts2是基於Action類開發的,傳遞參數是經過類的屬性,只能設計爲多例後端

3) Struts2採用值棧存儲數據和響應的數據,經過OGNL存取數據;SpringMVC經過參數解析器是將request請求內容解析,並給方法形參賦值,將數據和視圖封裝成ModelandView對象,最後又將ModelandView中的模型數據經過request域傳輸到頁面。jsp視圖解析器默認使用jstl設計模式

SpringMVC工做流程架構

SpringMVC簡介app

SpringMVC是一種基於Spring實現了Web MVC設計模式的請求驅動類型的輕量級Web框架,使用了MVC架構模式的思想,將web層進行職責解耦,並管理應用所需對象的生命週期,爲簡化平常開發,提供了很大便利。框架

SpringMVC組件jsp

DispatcherServlet(前端控制器):做爲前端控制器,整個流程控制的中心,控制其它組件執行,統一調度,下降組件之間的耦合性,提升每一個組件的擴展性。spa

Handler Mapping(處理器映射器):經過擴展處理器映射器實現不一樣的映射方式,例如:配置文件方式,實現接口方式,註解方式等。 設計

Handler Adapter(處理器適配器):經過擴展處理器適配器,支持更多類型的處理器。

View Resolver(視圖解析器):經過擴展視圖解析器,支持更多類型的視圖解析,例如:jsp、freemarker、pdf、excel等。

SpringMVC簡介工做流程

 

  1. 用戶發送請求至前端控制器DispatcherServlet。
  2. DispatcherServlet收到請求調用HandlerMapping處理器映射器。
  3. 處理器映射器找到具體的處理器(能夠根據xml配置、註解進行查找),生成處理器對象及處理器攔截器(若是有則生成)一併返回給DispatcherServlet。
  4. DispatcherServlet調用HandlerAdapter處理器適配器。
  5. HandlerAdapter通過適配調用具體的處理器(Controller,也叫後端控制器)。
  6. Controller執行完成返回ModelAndView。
  7. HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet。
  8. DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器。
  9. ViewReslover解析後返回具體View。
  10. DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中)。
  11. DispatcherServlet響應用戶。
相關文章
相關標籤/搜索