近日,Apache官方網站發佈了關於Apache Struts 1 EOL(End-Of-Life)
新聞稿及
通告。該新聞稿指出,2013年4月5日,Apache Struts項目團隊正式通知廣大開發者,Struts 1.x開發框架結束使命,而且官方將不會繼續提供支持。
Struts 1.x項目建立於2000年,最新版本1.3.10發佈於2008年12月。同期,Struts社區將精力專一於推進Struts 2框架的發展,截止到2013年4月,已發佈了23個版本。據通告稱:
這次宣告Struts 1.x退出舞臺並再也不提供支持,主要是由於缺乏足夠的志願者來提供支持。
與此同時,在
新聞稿中,Apache Struts團隊強烈建議你們學習Struts 2框架,Struts 2更加現代、高度解耦、功能豐富且易於維護。就在3月,Apache Struts剛剛發佈了2.3.12版,這個版本爲維護版本,包含了一些很小的改進,如:
- 重構全部驗證器,可經過 OGNL 設置參數
- Tag 的 required 屬性更名爲 requiredLabel 支持 HTML5 的 required 屬性
- 三個新的 Tiles 插件,用於支持 Tiles 3 結果類型
- 改進支持 JBoss 5 的 Convention 插件
此外,對於正在使用Struts 1.x的開發者或團隊,Apache Struts團隊就常見問題給出了回答:
Struts 1.x再也不提供支持後,現有資源如何處理?
全部資源將會保留,Apache Struts首頁將會提供相關文檔的連接,同時也會保留Struts 1.x各個版本的下載地址。全部的Struts 1源代碼都可在Apache Struts代碼倉庫中找到,而且永久保留。全部發布的Maven構件(Maven artifacts)都可經過Maven Central訪問。
若是之後發現和Struts 1.x相關的安全問題或嚴重的Bug,是否還會有相應的修復?
目前來看,是不會的,這也是要宣佈EOL的緣由。既然如今已經宣佈再也不提供支持,開發者也須要尋找移植方案,將現有的Struts 1代碼移植到其餘Web框架上。
如今是否是就須要將Struts 1從個人項目中刪除?
就目前Struts團隊瞭解的狀況來看,沒必要當即刪除。然而須要意識到的是,將來將不會有針對安全和Bug問題的修復,一旦將來發現上述狀況,開發團隊須要本身來應對。
若是須要將現有項目從Struts 1移植到其餘Web框架,有什麼推薦?
您也許會意識到,目前爲止Struts 1尚未直接的替代品。您須要根據現有代碼的狀況,來選擇新的開發框架,並經過調整代碼來適應新的框架。雖然有不少基於Action的Java Web開發框架均可以實現這個效果,但咱們仍是會推薦Struts 2。由於他更先進、高度解耦、功能豐富且更易於維護。他繼承了Struts 1的核心理念,但在架構和API設計上要比Struts 1.x先進不少。此外,其餘的替代框架也不錯,如
Spring Web MVC、
Grails或
Stripes。
若是想繼續對Struts 1進行維護,咱們能夠作些什麼?
能夠隨意的爲Struts 1進行貢獻。有兩種方法:從現有代碼創建分支並進行改進或吸引社區人士來繼續推進Apache Struts項目。若是有足夠的人願意而且有能力來繼續提供補丁、進行維護以及長期管理的話,咱們認爲有這樣的支援者的狀況下,或許Struts 1還有但願。
此消息一出,微博人士也紛紛感慨:
蒼氵: 還記得進公司的第一件事就是把純JSP的實現的功能用Struts1實現,好懷念啊.........感謝Struts1。
貓砂西瓜: 忘不了那一屏幕的form bean。
KDS-黑暗浪子: 逝去的總歸要逝去,一切向前看。仔細想一想,從03到07年我也用這個5年了。
Kaloo2010: 面試再問這個就有的說了。 識時務的馬: 懷念一下,當初那個堆砌ActionForm的青蔥歲月。