写点什么

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

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

关注

评论

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

浅谈 ByteHouse Projection 优化实践

不在线第一只蜗牛

bytehouse

数据分析与可视化在企业中的日常应用

夏日星河

数字经济催生的低代码开发浪潮,JNPF带你轻松实现应用程序拓展!

引迈信息

typescript的必要性及使用 | 京东云技术团队

京东科技开发者

JavaScript 前端 企业号 6 月 PK 榜

可观测性Trace全量存储——之开篇

乘云数字DataBuff

直播预约 | 邀您共同探讨“云XR技术如何改变元宇宙的虚拟体验”

3DCAT实时渲染

元宇宙 VR虚拟现实 云XR技术

vivo 自研鲁班分布式 ID 服务实践

vivo互联网技术

雪花算法 分布式ID UidGenerator Tinyid Leaf

全球NDR市场“客户之声”首次发布:那些最挑剔的用户都选了谁?

Geek_2d6073

SpringBoot 2 种方式快速实现分库分表,轻松拿捏!

程序员小富

分库分表 springboot ShardingSphere

Vue自定义指令-让你的业务开发更简单

EquatorCoco

Vue vue3.0

Hologres弹性计算在OLAP分析上的实践和探索

阿里云大数据AI技术

大数据 OLAP 企业号 6 月 PK 榜

CFFF在复旦上线 中国高校可以在世界带好头!

新云力量

阿里云 复旦大学 智算平台

IPQ9554-IPQ6010 supports QCN9274-QCN9074 to achieve triple-band 2.4G, 5G, 6E, up to 9.6 Gbps rate

wifi6-yiyi

WIFI 6e WiFi7

Java反射源码学习之旅 | 京东云技术团队

京东科技开发者

Java java反射 企业号 6 月 PK 榜

直播系统聊天技术(九):千万级实时直播弹幕的技术实践

JackJiang

网络编程 即时通讯 IM

如何从消失的异常堆栈定位线上问题 | 京东云技术团队

京东科技开发者

缓存 TCP 异常堆栈 企业号 6 月 PK 榜

强化学习从基础到进阶--案例与实践含面试必知必答[10]:模仿学习、行为克隆、逆强化学习、第三人称视角模仿学习、序列生成和聊天机器人

汀丶人工智能

人工智能 深度学习 强化学习 模仿学习 逆强化学习

CFFF部署在公共云上意义重大

新云力量

阿里云 复旦大学 智算平台

瓴羊Quick BI:财务报表分析工具的重要应用

巷子

京东到家小程序-在性能及多端能力的探索实践 | 京东云技术团队

京东科技开发者

小程序 性能优化 后端 多端开发 企业号 6 月 PK 榜

【有奖体验】这个 AI 智能回答,就一个字“绝”!

阿里巴巴云原生

阿里云 AI 云原生

Apifox:与 OpenAI 接口调试的最佳拍档

Apifox

开发 API openai ChatGPT chatgpt api

互联网大厂2700道Java高频面试题(2023年最新版)不管你工作几年,都可以看看!

采菊东篱下

java面试

推进绿色数据中心建设,宁畅发布“无忧焕液计划”

Geek_2d6073

芯片中的上百亿个晶体管是如何设计的?

博文视点Broadview

PoseiSwap IDO、IEO 结束,即将登录 BNB Chain

西柚子

AIGC+设计|AI卖画,卖的是创意还是生意?

TE智库

人工智能 AIGC 生成式AI 平面设计

AI药物研发大赛培训来啦!清华博导讲解,高分基线等你来Fork!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

直播平台源码功能分享:直播回放功能的实现

山东布谷科技

软件开发 直播 源码搭建 直播平台源码

强化学习从基础到进阶--案例与实践含面试必知必答[9]:稀疏奖励、reward shaping、curiosity、分层强化学习HRL

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动 分层强化学习

玖章算术与百度智能云达成合作,「NineData SQL 开发」成为百度智能云主推的数据库工具

Baidu AICLOUD

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