AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Apache Struts 2.2.1 GA 版发布

  • 2010-08-17
  • 本文字数:856 字

    阅读完需:约 3 分钟

昨日,Apache 软件基金会发布了 Struts 2.2.1 GA 版。Struts 2.2.1 包含了重要的安全修复。Apache 建议开发者将现有的Struts2 应用升级到Struts 2.2.1。

Struts 2.2.1 的内部变化主要有:

  • XWork 已经迁移到了 Apache 软件基金会,现在成为了 Struts 2 的一部分。新版 XWork 2.2.0 也随着 Struts 2.2.1 一同发布。未来,XWork 将会迁移到 Struts 2 中。
  • XWork Maven artifact 现在已位于org.apache.struts.xwork下。
  • XWork 使用了最新版的 OGNL 3.0,OGNL 源代码仓库则位于 Github 上。
  • Javassist 依赖被 OGNL 排除,要记得将其包含进来,除非在 JBoss 服务器上加载应用。
  • 解决了 XWork 一些突出的缺陷,感兴趣的读者可以参考 CVE-2010-1870: Struts2/XWork remote command execution 来了解详情。
  • 所有的示例应用(除了 jboss-blank)都包含了 Javassist 依赖。
  • 新的 jboss-blank 示例应用使用了 JBoss 服务器,它没有将 jboss-blank 库包含进来,因为 JBoss 服务器已经提供了。
  • 增加了新的 Freemarker 缓存选项,这会提升标签的渲染速度,感兴趣的读者可以参考 WW-3467 并了解关于 FreeMarker 的更多信息。

Struts 2.2.1 修复了之前版本的众多 bug,主要修复列举如下:

  • <s:reset type=“image”> 标签上缺少 src 属性
  • Struts2 showcase 无法在 JBoss 5.1 上部署
  • struts-sitemesh-plugin 2.1.8 中 FreeMarkerPageFilter 的失效问题
  • XWork FileManager 不会解码 URL
  • ConventionUnknownHandler 与 rest 插件的协作问题
  • StrutsSpringTestCase 的内存泄漏问题
  • css_xhtml 主题无法应用在 IE8 上,在其他浏览器上也无法正常使用
  • javassist 在 JBoss 5.1 上的问题

Struts 2.2.1 的主要改进列举如下:

  • 升级至 OGNL 2.7
  • 文件上传:可以对 allowedTypes 参数设置不同的 File Content Type 值
  • 完全集成了 SiteMesh 2、Freemarker 2.4.2 及 Velocity 1.3
  • 将 xwork 核心迁移至 Struts 2
  • 将 FreeMarker 升级至 2.3.16
  • 将 Velocity 引擎升级至 1.6.3

感兴趣的读者可以从 Struts 官方网站下载最新版的 Struts 2.2.1,也可以阅读 InfoQ 中文站的《深入浅出 Struts 2》迷你书快速上手 Struts 2。

2010-08-17 08:213528
用户头像

发布了 88 篇内容, 共 266.8 次阅读, 收获喜欢 8 次。

关注

评论

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

如何使用火焰图对 Rust 程序进行性能和内存占用分析

Databend

weidl x DeepRec:热门微博推荐框架性能提升实战

阿里云大数据AI技术

性能优化 AI技术 推荐引擎 12 月 PK 榜

IntelliJ IDEA中我最爱的10个快捷操作

JAVA旭阳

Java IDEA

校招面试真题 | 你的期望薪资是多少?为什么?

测试人

低代码多分支协同开发的建设与实践

阿里巴巴终端技术

前端 低代码

这个团队敢闯、会创,北京交通大学团队结合昇思MindSpore技术助力打造“智慧安全交通”

极客天地

MySql索引下推知识分享

京东科技开发者

数据库 后端 索引 MySQL 数据库 索引原理

跨平台应用开发进阶(三十四) :uni-app 应用 Universal Link 实现 iOS 微信分享

No Silver Bullet

uni-app universal link 跨平台应用 12月月更 iOS 微信分享

2022中国产业数字化发展成熟度行业指数分析—— 重视差异,结合自身要素禀赋,推进产业精细化治理

易观分析

产业 产业数字化

网络ping不通,试试这8招

华为云开发者联盟

开发 网络 服务器 华为云 12 月 PK 榜

MyBatis是如何初始化的

华为云开发者联盟

Java 开发 华为云 12 月 PK 榜

论文复现丨基于ModelArts进行图像风格化绘画

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

TypeScript 前端工程最佳实践

京东科技开发者

typescript 前端 前端开发 编程语言】

这一篇让你搞懂电商平台中的商品 SPU 和 SKU

产品海豚湾

产品经理 产品设计 商品管理 电商平台 需求分析

数字化办公,就选流畅、清晰的华为云桌面

i生活i科技

华为云桌面,企业云上办公为何都偏好它?

i生活i科技

车载LED显示屏的4大性能指标

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

教你用Python实现BMI计算器

小院里的霍大侠

Python 实战案例 初学者 入门实战

软件测试 | 测试开发 | 你的期待薪资是多少?为什么?

测吧(北京)科技有限公司

测试

4年“落子”8大城市,骥翀氢能产业布局背后精心下好“商业模式”先手棋

硬科技星球

计算机科学通识-01-电子计算机发展史

邱比特讲编程

计算机基础 计算机 计算机教育

从咖啡馆到世界,共赴下一个十年|写在EMQX开源十周年

EMQ映云科技

GitHub 开源 IoT emqx 12 月 PK 榜

搞定 Redis 数据存储原理,别只会 set、get 了

小小怪下士

Java redis

跨平台应用开发进阶(三十六) :uniapp使用uni.request请求报错{“errMsg“:“request:fail abort statusCode:-1“}的解决办法

No Silver Bullet

uni-app 12月月更 跨平台应用开发 statusCode:-1“ request:fail abort

如何在云原生环境中实现安全左移?

SEAL安全

云原生 安全 DevSecOps 12 月 PK 榜

如何通过Java提取PDF中的图片

Geek_249eec

Java PDF 图片

华为云会议助力大家保险提升沟通协作效能

i生活i科技

更加灵活、经济、高效的训练 — 新一代搜推广稀疏大模型训练范式GBA

阿里技术

大模型 搜索推荐

跨平台应用开发进阶(三十七)uni-app前端监控方案 Sentry 探究

No Silver Bullet

uni-app sentry 12月月更 前端监控方案

学生管理系统架构文档

闲人Eric

架构实战营

华为云会议,助力企业移动办公效率提升

i生活i科技

Apache Struts 2.2.1 GA版发布_Java_张龙_InfoQ精选文章