大多數人都會熟悉Struts, 無論是從項目實戰中獲得的經驗還是從書中瞭解到的知識。在這一系列文章裡,我們將通過一個由Struts遷移到Struts 2的簡單應用例子向大傢展現Struts 2的所有特征。
在我們開始介紹這個例子之前,你需要去瞭解一點Struts 2的背景知識。文章的第一部分將介紹Struts 2與Struts的核心架構的不同點,以助於更好地把所有概念聯系起來。第二部分將深入探討兩者在actions上的差別、action相關的框架特征和action的配置。在文章最後一部分將會講述用戶界面。我們會講到其架構、UI構件、主題和標簽,還有如何為我們的應用加上新的外觀。
我們並不打算談及遷移過程的所有細節方面,我們隻是從普通的出發點開始介紹Struts 2的概念和現在可用的所有新特征。但擁有這些知識後,無論以後遷移到何等規模的應用到Struts 2中你都可以易如反掌。
導言/歷史
Struts的第一個版本是在2001年5月份發佈的。它的最初設想是通過結合JSP和Servlet,使Web應用的視圖和業務/應用邏輯得以清晰地分離開來。在Struts之前,最常見的做法是在JSP中加入業務和應用邏輯,或者在Servlet中通過println()來生成視圖。
自從第一版發佈以來,Struts實際上已成為業界公認的Web應用標準。它的炙手可熱也為自己帶來瞭改進和變更,所以不但要跟上對Web應用框架不斷變化的需求,而且要與日漸增多競爭激烈的眾多框架的特性相融合。
到最後,產生瞭幾個下一代Struts的解決方案。其中兩個最受矚目的方案是Shale和Struts Ti。Shale是一個基於構件的框架,並在最近成為Apache的頂級項目。而Struts Ti則是在Struts的成功經驗基礎上繼續堅持對前端控制器(Front Controller)和MVC(model-view-controller)模式進行改進。
WebWork項目是在2002年3月發佈的,它對Struts式框架進行瞭革命性改進,引進瞭不少新的思想,概念和功能,但和原Struts代碼並不兼容。WebWork是一個成熟的框架,經過瞭好幾次重大的改進與發佈。
在2005年12月,WebWork與Struts Ti宣佈合並。與此同時,Struts Ti改名為Struts Action Framework 2.0,成為Struts真正的繼承者。
最後要註意的是,並不是說Struts或WebWork項目已經停止開發瞭。由於人們對這兩個項目的興趣仍然很高,而且也有很多開發者仍然願意使用它們,因此這兩個項目還在繼續開發中,繼續修復Bug,改進功能和繼續添加新功能。