Struts與Spring MVC
Struts框架是開發javaeeweb應用程序的最初的web應用程序框架之一。Spring是一個開源的應用程序框架。在Spring框架引入一段時間後,開發人員在Spring框架中添加了一個MVC框架,希望能夠解決Struts中發現的一些侷限性。但幾年後,Struts2(或StrutsVersion2)問世了,它完全不同於web應用程序框架,並且得到了高度改進。現在,Struts和springmvc都被大量用於開發javaee應用程序。
什麼是Struts?
Struts(也稱為apachestruts)是一個用Java編寫的跨平臺開源框架,旨在開發javaeeweb應用程序。Struts鼓勵使用MVC(Model-View-Controller)架構。它是JavaServletAPI的擴展。Craig McClanahan是Struts的最初創建者。最初它被稱為jakarathastruts,並在Apache軟件基金會的Jakarta項目下進行維護。它目前的穩定版本是2011年5月發佈的2.2.3版本。它是在Apache許可證2.0下發布的。Struts框架被稱為基於請求的框架,它由三個主要組件組成:請求處理程序、響應處理程序和標記庫。標準URI(統一資源標識符)映射到請求處理程序。響應處理程序負責傳輸控制。要使用表單創建交互式應用程序,可以利用標記庫提供的功能。Struts支持REST應用程序和各種技術,如SOAP、AJAX等。
什麼是Spring MVC?
Spring是一個開源的應用程序框架。它由羅德·約翰遜開發,第一個版本於2004年發佈。spring3.0.5是Spring框架的當前版本。它是根據Apache2.0許可證授權的。任何Java應用程序都可以使用Spring框架的核心特性。Spring框架中有幾個模塊,MVC就是其中之一。springmvc框架並不是他們最初計劃的一部分。事實上,Spring開發人員提出自己的MVC框架的原因是為了解決Struts(版本1)和其他類似框架中的缺陷。在表示層和層之間的分離時,他們特別表示要解決層與層之間的分離問題。springmvc也是一個基於請求的web應用程序框架。
Struts和Spring MVC有什麼區別?
儘管springmvc和Struts是兩種用於開發javaeeweb應用程序的流行web應用程序框架,但它們有它們的區別。事實上,springmvc是為了解決Struts(版本1)中的一些限制而開發的。但是Struts2是一個比version1高度改進的框架(它們甚至不共享相同的代碼庫),因此springmvc和Structs2具有很強的可比性。
springmvc的主要優點之一是可以與許多視圖選項(如JSP/JSTL、Tiles、FreeMaker、Excel、PDF和JSON)無縫集成。但是,與Struts不同,springmvc不提供內置AJAX支持(需要使用第三方AJAX庫)。