1. 程式人生 > >Struts2的起源與背景

Struts2的起源與背景

一、Struts1存在的弊端:

      1.表現層支援單一

             Struts1構架只支援JSP作為表現層使用,而很多Java應用,在表現層技術選擇時並不一定只使用JSP一種技術。如FreeMarker,Velocity等,這是因為Stust1框架的出現遠在這些頁面技術出現之前。而當多形式的檢視技術出現後,Strust1又無法與這些檢視技術進行整合,從而限制了Struts1的發展。

     2.對Servlet API的依賴

           Strust1框架是基於ModeⅡ(JSP+Servlet+JavaBean)模式開發而成的,因此在其中會應用到大量的Servlet API,而Servlet需要通過Web容器進行初始化,從而進一步對Web容器產生依賴。因此。一旦脫離了Web容器,整個程式將很難完成測試。

    3. 不利於程式碼重用

           在Struts1開發的程式碼中除了自己定義的類外,還必須使用Struts1中的某些類(如actionForm)。這樣帶來的弊端是,與Struts1類的耦合在一起很難在其他的系統中進行重用。

二、Struts2

       Struts2以WebWork的設計思想為核心,吸收了Struts1的部分優點,建立了一相容WebWork和Struts1的MVC框架(可以說Struts1和WebWork組成了Struts2)

       優點: 更加強調系統之間鬆耦合,使用攔截器來實現控制。

                  Struts 2擁有更加廣闊的前景,自身功能強大,還對其他框架下開發的程式提供很好的相容性