Struts2升级版本到2.5.30遇到的一些问题和解决方式

本文详细记录了将Struts2从2.3.32升级到2.5.30过程中遇到的问题及解决方案,包括actionContext.getParameters()方法变化、JDK版本升级至1.8、Spring版本升级需求以及commons-lang3版本冲突。通过调整代码、引入兼容库和修改配置文件,成功解决了大部分问题,但线上环境可能还需面对更多挑战。
摘要由CSDN通过智能技术生成

一、背景

  1. 由于Struts2被爆出了远程执行漏洞需要升级版本到2.5.30解决
  2. 目前程序使用的struts2-core版本是2.3.32,spring版本是2.5.6,commons-lang3版本是3.1,jdk版本1.6
  3. maven项目管理

二、解决方案

  1. 升级Struts2-core包版本,升级jdk版本,升级spring版本
  2. 升级Struts2-core包版本,升级jdk版本

三、解决过程

  1. 首先在pom文件中升级Struts2-core包的版本至2.5.30进行个简单的编译看有什么变化,结果程序报错actionContext.getParameters(),在版本升级后的对象类型发生了变化由Map变成了HttpParameters
    在这里插入图片描述
    在这里插入图片描述
    为了避免不影响后面程序的逻辑可以通过新版本的方法toMap()获取map,填充时调用新版本的HttpParameters.create().buildNoNestedWrapping()方法

         Map parmeters = actionContext.getParameters().toMap();
         actionContext.setParameters(HttpParameters.create(parm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值