SpringMVC 對比 Struts2

SpringMVC 對比 Struts2

SpringMVC 介紹

Spring 爲展現層提供的基於 MVC 設計理念的優秀的Web 框架,是目前最主流的 MVC 框架之一。

  • Spring3.0 後全面超越 Struts2,成爲最優秀的 MVC 框架。
  • Spring MVC 通過一套 MVC 註解,讓 POJO 成爲處理請求的控制器,而無須實現任何接口。
  • 支持 REST 風格的 URL 請求。
  • 採用了鬆散耦合可插拔組件結構,比其他 MVC 框架更具擴展性和靈活性。

Struts2介紹

Struts2是一個基於MVC設計模式的Web應用框架。
它本質上相當於一個servlet,在MVC設計模式中,Struts2作爲控制器(Controller)來建立模型與視圖的數據交互。
Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合併的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2採用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開。

相同點:

二者都是基於mvc的web層的框架,都是負責接收用戶瀏覽器提交的請求參數,通過某些校驗操作調用業務層,而後獲取到業務層返回的數據,將數據通過某種方式在前臺展示。

不同點:

  1. Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter。
  2. Spring MVC 會稍微比 Struts2 快些. Spring MVC 是基 於方法設計, 而 Sturts2 是基於類, 每次發一次請求都會實 例一個 Action。
  3. Spring MVC 使用更加簡潔, 開發效率Spring MVC確實 比 struts2 高: 支持 JSR303, 處理 ajax的請求更方便。
  4. Struts2 的 OGNL 表達式使頁面的開發效率相比 Spring MVC 更高些。
  5. Struts2是類級別的攔截,一個類對應一個request上下文,SpringMVC是方法級別的攔截,一個方法對應一個request上下文。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章