写点什么

Apache Struts 1 宣告退出舞台

  • 2013-04-08
  • 本文字数:1465 字

    阅读完需:约 5 分钟

近日,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 的青葱岁月。

此外,为了给读者提供更好的参考,InfoQ 中文站上也为您准备了相关内容:

2013-04-08 19:116099
用户头像

发布了 156 篇内容, 共 56.9 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

关于架构师

莫莫大人

架构师训练营第 1 周 _ 食堂就餐卡系统设计

方舟勇士

课程练习

第一周作业:食堂就餐卡系统设计

尔东雨田

极客大学架构师训练营

第一周学习笔记

丿淡忘

极客大学架构师训练营

架构师训练营 - 第一周学习总结

牛牛

学习 极客大学架构师训练营

食堂就餐卡系统设计

莫莫大人

食堂就餐卡系统架构设计文档

呆呆栋

技术管理者标准管理模板

Mr.RowKey

餐卡系统设计

YY

架构师训练营第一周学习总结

阿德

架构师训练营-第1周学习总结

红了哟

作业一:食堂就餐卡系统设计

丿淡忘

食堂就餐卡系统设计方案-week01

老A

架构 架构师 极客大学架构师训练营 架构文档

什么是架构师?

呆呆栋

架构师训练营第一周总结

皓首不倦

架构设计文档

talen

极客时间架构课Week01-作业二:学习总结

yulyulcl

架构师入门之架构方法

知识乞丐

极客大学架构师训练营

食堂就餐卡系统架构设计

嘻哈

食堂就餐卡系统设计

upupup

极客大学架构师训练营

01周学习总结

dao

极客大学架构师训练营

第一课 架构师的自我修养

Geek_bobo

第一周作业

Geek_2b3614

架构方法学习小结

梅子黄时雨

极客大学架构师训练营

链改,改的是什么?

CECBC

区块链技术 不可篡改 链改 上链 Token

程序员需要学会画UML图

张瑞浩

架构师训练营第一周作业 - 食堂就餐卡系统设计

阿德

一周信创舆情观察(6.1~6.7)

统小信uos

大数据 网络安全 新基建

架构师训-总结

leis

架构师训练营第0期第1周学习总结

upupup

极客大学架构师训练营

食堂就餐卡系统设计

架构设计 极客大学架构师训练营

Apache Struts 1宣告退出舞台_Java_贾国清_InfoQ精选文章