Struts 1是全世界第一個發布的MVC框架,它由Craig McClanahan在2001年發布,該框架一經推出,就得到了世界上java Web開發者的擁護,經過長達6年時間的錘煉,Struts 1框架更加成熟、穩定,性能也有了很好的保證。
到目前為止,Struts 1依然是世界上使用最廣泛的MVC框架。目前,基于Web的MVC框架非常多,發展也很快,每隔一段時間就有一個新的MVC框架發布。
雖然Struts 2號稱是一個全新的框架,但這僅僅是相對Struts 1而言。Struts 2與 Struts 1相比,確實有很多革命性的改進,但它并不是新發布的新框架,而是在另一個赫赫有名的框架:WebWork基礎上發展起來的。從某種程度上來講,Strut2沒有繼承Struts 1的血統,而是繼承了WebWork的血統。或者說,WebWork衍生出了Struts 2,而不是Struts 1衍生了Struts 2。因為Struts 2是WebWork的升級,而不是一個全新的框架,因此穩定性、性能等各方面都有很好的保證;而且吸收了Struts 1和WebWork兩者的優勢。
Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與Servlet API完全脫離開。在很多方面Struts僅僅是改變了WebWork下的名稱。Struts2對應的有自己的標簽,并且功能強大。Webwork也有自己的標簽。Struts 2和WebWork成員名稱(命名上存在的改變)的對應表:

除此之外,Struts 2也刪除了WebWork中少量特性:
AroundInterceptor:Struts 2不再支持WebWork中的AroundInterceptor。如果應用程序中需要使用AroundInterceptor,則應該自己手動導入WebWork中的AroundInterceptor類。
富文本編輯器標簽:Struts 2不再支持WebWork的富文本編輯器,如果應用中需要使用富文本編輯器,則應該使用Dojo的富文本編輯器。
IoC容器支持:Struts 2不再支持內建的IoC容器,而改為全面支持SPRing的IoC容器,以Spring的IoC容器作為默認的Object工廠。
WebWork 框架流轉圖:

新聞熱點
疑難解答