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簡介工做流程