昨日,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。
评论