NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

windows如何上架ios应用到app store

雪奈椰子

【我与openGauss的故事系列】奇思妙想——通过Go语言自制安装openGauss二进制程序(二)

daydayup

覆巢之下(1)

于哲

统一观测|借助 Prometheus 监控 ClickHouse 数据库

阿里巴巴云原生

阿里云 云原生 Prometheus Clickhouse

Ansible自动化部署安装openGauss 3.1.0 企业版

daydayup

openGauss的高效数据压缩算法

daydayup

TE智库 |《中国CLM(合同全周期管理)市场产业全景研究报告》发布,看合同管理赋能企业战略落地

TE智库

文心大模型企业应用私享会·上海站:共话大模型前沿技术与产业应用创新

飞桨PaddlePaddle

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

【我与openGauss的故事系列】奇思妙想——通过Go语言自制安装openGauss二进制程序(一)

daydayup

openGauss 3.1.0 版本gs_stack功能解密

daydayup

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

BlockChain先知

RocketMQ 在业务消息场景的优势详解

阿里巴巴云原生

阿里云 RocketMQ 云原生

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

股市老人

面向金融科技方向选手!一级学会背书,AI选股与可视分析大赛来啦

飞桨PaddlePaddle

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

运维让我优化SpringBoot启动速度,我是这么干的!

高端章鱼哥

运维 Spring Boot 后端

开放原子开源基金会TOC(技术监督委员会)第七十七次全体会议

开放原子开源基金会

Sprint Boot学习路线3

小万哥

Java spring 后端 springboot SpringCloud

如何在Windows上将iOS应用上传到App Store

2023模式识别课程师资培训会重磅招募

飞桨PaddlePaddle

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

京东云正式加入openGauss社区,共筑数据库科技服务供应链

daydayup

敏捷产品路线图管理实例,产品路线图工具

顿顿顿

Scrum 敏捷开发管理 产品路线图工具

大模型真的会“好事多模”吗?

脑极体

大模型

开放原子开源基金会理事长孙文龙一行赴浪潮考察交流

开放原子开源基金会

开源

开放原子开源基金会理事长孙文龙一行赴山东大学考察交流

开放原子开源基金会

开源 开放原子开源基金会

DBMind索引推荐功能在民生银行的生产实践

daydayup

openGauss-graph 0.1.0版本正式发布

daydayup

拜托,别在agent中依赖fastjson了

夏奇

Java Agent 类加载 架构设计 Fastjson

Last Week in Milvus

Zilliz

非结构化数据 开源社区 Milvus Zilliz

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

EOSdreamer111

openGauss企业级开源数据库荣获2022年度中国计算机学会(CCF)科技进步奖特等奖

daydayup

文心一言 VS 讯飞星火 VS chatgpt (69)-- 算法导论6.5 8题

福大大架构师每日一题

福大大架构师每日一题

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