写点什么

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

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

关注

评论

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

主机入侵检测策略之基线检测

网络安全学海

网络安全 信息安全 渗透测试 安全漏洞 暴力猜解

List 去重的 6 种方法

编程江湖

List java 编程

网易云信发布两大元宇宙解决方案,打响进军元宇宙第一枪

网易云信

人工智能 音视频 元宇宙

Aeron 是如何实现的?—— Ipc Subscription

BUG侦探

共享内存 Aeron Ipc Subscription

npm进阶(一) 更换成淘宝镜像源以及 cnpm

No Silver Bullet

npm 12月日更

恒源云(GPUSHARE)_【功能更新】实例日志上线,操作一目了然

恒源云

深度学习 算力加速

【等保小知识】信息安全等级保护四级系统有哪些?

行云管家

网络安全 等级保护

大厂高频面试题Spring Bean生命周期最详解

Tom弹架构

Java spring 源码

跨越可观测性鸿沟|高手们都在用的“火焰图”是什么

尔达Erda

程序员 微服务 云原生 可观测性 链路追踪

Python代码阅读(第68篇):指定值出现次数

Felix

Python 编程 列表 阅读代码 Python初学者

Kyligence + 亚马逊云科技丨实现云上的精细化运营和数字化指挥

Kyligence

netty系列之:性能为王!创建多路复用http2服务器

程序那些事

Netty 程序那些事 http2 12月日更

es单机安装及配置其系统服务

elasticsearch

中科柏诚持续推进数字网络技术,蓄力元宇宙布局

联营汇聚

元宇宙浪潮之下,数字身份至关重要

CECBC

常见杀毒软件及其引擎的特点

喀拉峻

网络安全 病毒扫描

十年期货股票行情数据轻松处理——TDengine在同心源基金的应用

TDengine

数据库 tdengine 时序数据库

尚硅谷Maxwell视频教程发布!

@零度

大数据 Maxwell

Rust 元宇宙 14 —— 创建角色和同步

Miracle

rust 元宇宙

JavaScript 中的 .forEach() 和 for...of

devpoint

JavaScript foreach for...of 12月日更

南瓜电影 7 天内全面 Serverless 化实践

Serverless Devs

阿里云 ECS 南瓜电影 SAE

Go语言学习查缺补漏ing Day5

恒生LIGHT云社区

golang 编程语言

如何搭建批流一体大数据分析架构?

Kyligence

谈谈对微软Dapr的理解

行云创新

微软 服务网格 dapr

SpringBoot中如何优雅的使用多线程

编程江湖

JAVA开发 springboot

腾讯音乐iOS开发四次面试记录

iOSer

ios 腾讯 面试题 iOS面试 腾讯音乐

【IT运维】公司内网服务器可以远程桌面连接吗?怎么连接?

行云管家

云计算 运维 IT运维 远程运维

老电影和图片变清晰的秘密!分辨率提升400%的AI算法

百度大脑

人工智能

Kafka之为什么需要消息队列

编程江湖

大数据 kafka

7.《重学JAVA》--运算符

杨鹏Geek

Java 25 周年 28天写作 12月日更

飞桨双十二礼包,上海“拆箱”啦!

百度大脑

人工智能

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