写点什么

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

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

关注

评论

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

常用邮箱申请渠道【小程序专题2】

坚果

小程序 28天写作 12月日更 邮箱

【LeetCode】把二叉搜索树转换为累加树Java题解

Albert

算法 LeetCode 12月日更

Linux学习教程从入门到精通:条件判断和流程控制语句If

侠盗安全

Linux 运维 运维工程师 云计算架构师

每一天

Nydia

结构化思维 - 感悟

搬砖的周狮傅

感悟 结构化思维

通过淘宝数据学习爬虫,python scrapy requests与response对象

梦想橡皮擦

12月日更

0 基础实现简单的Kotlin ListView

阿策小和尚

28天写作 Android 小菜鸟 12月日更

给弟弟的信第14封|人到年纪,自己就是屋檐

大菠萝

28天写作

Go 语言快速入门指南:第六篇 与数据为舞之映射

宇宙之一粟

哈希表 字典 映射 签约计划第二季 12月日更

带你了解几种二进制代码相似度比较技术

华为云开发者联盟

二进制 源代码 二进制代码 二进制代码比较 安全审计

让数据大白于天下:GCC插件实现代码分析和安全审计

华为云开发者联盟

数据结构 安全审计 GCC 代码分析 安全分析

[Pulsar] Acknowledgement原理

Zike Yang

Apache Pulsar 12月日更

常见序列化算法学习笔记二

风翱

序列化 12月日更

一文带你从零认识什么是XLA

华为云开发者联盟

深度学习 tensorflow PyTorch 深度学习编译器 XLA

架构实战营第二周作业

Jude

「架构实战营」

高性能云网关,打通云内外业务互通的任督二脉

华为云开发者联盟

网关 云平台 华为云Stack 云网关 L2BR/L3G

中科柏诚本地生活赋能金融机构应对内卷危机

联营汇聚

面试官:StringBuilder与TextWriter有什么区别

喵叔

28天写作 12月日更

Android技术分享| 【自习室】自定义View代替通知动画(完)

anyRTC开发者

android 音视频 WebRTC 视频通话 自定义view

尚硅谷微信支付实战教程发布!

@零度

微信支付

一本用户体验时代的产品生存指南!

博文视点Broadview

以 Kubernetes 的方式来安装运行极狐GitLab Runner

极狐GitLab

Kubernetes runner 极狐GitLab

面向WEB开发的Docker(三):安装Docker

devpoint

Docker 12月日更

io_uring vs epoll ,谁在网络编程领域更胜一筹?

OpenAnolis小助手

网络编程

红颜更胜儿郎 | 尚硅谷微信支付实战教程发布

编程江湖

前端教程 微信支付开发

Java并发编程实战系列(15)-原子遍历与非阻塞同步机制

JavaEdge

12月日更

iOS开发:dSYM文件分析

三掌柜

28天写作 28 12月日更 12月

实用机器学习笔记十五:卷积神经网络

打工人!

深度学习 算法 学习笔记 卷积神经网络 12月日更

从0开始学VUE - 踩坑记录

恒生LIGHT云社区

JavaScript Vue 前端

Prometheus Exporter (二十八)RabbitMQ Exporter

耳东@Erdong

RabbitMQ Prometheus 28天写作 exporter 12月日更

React进阶(六):组件生命周期

No Silver Bullet

React 生命周期管理 12月日更

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