写点什么

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:115767
用户头像

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

关注

评论

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

.NET 6 SignalR websocket 入门(一)

辣么大

.net SignalR 8月月更

短视频直播app源码——软件系统开发方案

开源直播系统源码

软件开发 直播系统源码 短视频直播源码 短视频直播

怎么理解后App时代的轻应用技术

FN0

App 小程序容器 轻应用 快应用

从阿里云全球实时传输网络GRTN出发,浅谈QOE优化实践

阿里云CloudImagine

边缘计算 直播 边缘云 全球加速

Solana上的结算协议龙头,Zebec潜力颇受看好

股市老人

基于深度学习的细粒度分类研究及应用

之家技术

人工智能 深度学习 模型 图像 CVPR

关起门来搞开源,做不了开源世界的Leader

源字节1号

开源 软件开发

秋招大厂必备面试题!Java八股文背诵版已助569人入职大厂

退休的汤姆

Java、 面经 社招 面试八股文 秋招+

合合信息技术专家受邀出席RACV2022,探索计算机视觉与图形学未来增量

合合技术团队

计算机视觉 计算机

服务稳定性保障中的五大误解

华明

运维 SRE 服务监控 稳定性保障

mybatis入门案例

Geek_5829b6

Java 数据库 mybatis

闲谈Serverless,价值和未来

白留明(Armin.Lionheart)

云计算 Serverless Faas

怎样评测对比报表工具的性能?

Bug终结者

Java sql SPL 8月月更

mybatis基础的crud

Geek_5829b6

Java mybatis

企业应用现代化实用教程 | 如何快、准、狠地进行应用容器化改造?

York

容器 云原生 数字化转型 架构设计 应用现代化

java 环境的搭建原来如此简单,我这小白看完也学会了,建议收藏【带附件】

CRMEB

加密市场的投资布局,Zebec实属价值洼地

西柚子

阿里妈妈展示广告引擎新探索:迈向全局最优算力分配

阿里技术

经验分享 算力 性能提升

我和谷歌共成长——我的Google Play上车之路

云村的泊

8月月更

华为云构建云原生DevSecOps平台,保障软件供应链全流程安全可信

华为云开发者联盟

云计算 云原生 安全 后端 华为云

秒验丨Android端SDK API使用说明

MobTech袤博科技

android UI 秒验

全新物联网数据集成:Flow可视化编排&双向数据桥接

EMQ映云科技

物联网 IoT flow emqx 8月月更

加密市场由阴转晴,Zebec或成2022后半段黑马

鳄鱼视界

消息队列基本原理和选型对比

C++后台开发

中间件 消息队列 后端开发 C/C++后台开发 C/C++开发

泄露了,22年阿里巴巴秋招内部面试资料,看完之后剑指offer

Java面试那些事儿

Java 编程 程序员 面试 架构师

面向大规模数据的云端管理,百度沧海存储产品解析

百度Geek说

人工智能 数据

2min速览:从设计、实现和优化角度浅谈Alluxio元数据同步

Alluxio

元数据 数据同步 Alluxio 大数据 开源 8月月更

动态尺寸模型优化实践之Shape Constraint IR Part I

阿里云大数据AI技术

深度学习 编译器

SLF4J多个jar在类路径问题

Geek_5829b6

Java 日志

【限时领奖】消息队列 MNS 训练营重磅来袭,边学习充电,边领充电宝~

阿里巴巴中间件

阿里云 云原生 消息队列 课程 MNS

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