最近在阿里云服务器总是受到DDOS攻击,后来发现是因为struts版本过低,导致被入侵,于是升级了一下struts的版本到2.5,希望可以一次性解决这个问题,下面是升级到struts2.5版本的步骤:

一:替换jar包

注意:并不是图片里有的都要放到自己的项目中,自己的项目中用到了哪些,就替换掉哪些,要注意的是:如果你的项目中没有用到log4j.xml在换成2.5以后,运行tomcat启动项目,总是会提示你项目中缺少log4j.xml,这个问题自己建立一个log4j.xml放在src下,配一些最基本的东西就可以了,如果原来的项目是log4j.jar要保留,把log4j-api-2.8.2.jar也是要拷贝进去不然的话,在删除log4j.jar之后会报错,tomcat启动不起来)

另外需要删除自己项目中的xwork-core-2.3.20.jar,因为这个类库在struts升级到2.5版本已经包含在了struts2-core中了,所以一定要删除

二:更新web.xml中配置

<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class><!--替换掉:<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> -->
</filter>

三:更新struts.xml 配置

(1):把原strust2.xml文件中头部信息修2.0换成2.5

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

(2):由于新版本的Struts默认不能修改action的访问后缀,不能使用通配的方式调用action里的方法,所以添加:

<constant name="struts.enable.DynamicMethodInvocation" value="true"/>

<constant name="struts.action.extension" value="action,do" />

如原版本的struts的版本小于等于2.3,且项目进行动态方法配置,则可在<package>添加
<global-allowed-methods>regex:.*</global-allowed-methods>
另外也是最重要的:struts2.5版本适用jdk1.7或者以上

四:更新jsp文件标签

在项目里有jsp的小伙伴们,如果你们用了s标签,请修改一下几点

<s:iterator value="tradeList" id="trade" status="status"> 换成<s:iterator value="tradeList" var="trade" status="status">

<s:set name="myCode" value=" *** "/>  换成 <s:set var="myCode" value=" *** "/>

<s:property escape="true" var="someProperty"/>换成<s:property escapeHtml="true" var="someProperty"/>

struts2升级到2.5版本需要注意的几点相关推荐

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

    一.背景 由于Struts2被爆出了远程执行漏洞需要升级版本到2.5.30解决 目前程序使用的struts2-core版本是2.3.32,spring版本是2.5.6,commons-lang3版本是 ...

  2. Struts2升级到2.5.30,问题解决及过程记录

    Struts2升级到2.5.30 文章目录 Struts2升级到2.5.30 前言 一.Struts2远程漏洞描述 二.本机环境描述 三.问题描述及解决办法 1.JDK版本需要1.7及以上 2.提升J ...

  3. 慧算账全面升级,V2.2版本带来极致体验

    本文讲的是慧算账全面升级,V2.2版本带来极致体验,日前,互联网财税服务领导者--慧算账正式宣布推出全新升级的重磅新版本.相较于前一版本,V2.2版整体性能进行了全面提升,内部优化幅度也十分惊人,高效 ...

  4. 解决启动不了VMware虚拟机以及VM升级到新的版本后出现黑屏的问题

    解决启动不了VMware虚拟机以及VM升级到新的版本后出现黑屏的问题 参考文章: (1)解决启动不了VMware虚拟机以及VM升级到新的版本后出现黑屏的问题 (2)https://www.cnblog ...

  5. linux docker升级,CentOS上面升级Docker到最新版本

    一般我们用yum安装的docker版本是1.6或者1.7,我们要把docker升级到最新的版本. 首选我们验证一下系统里的docker版本[root@xiaohuai ~]# docker -v Do ...

  6. linux centos升级php_CentOS使用yum升级php到最新版本

    CentOS的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到最新版本,比较常见的是升级到5.2.6版本 ...

  7. linux系统内核从3.2.0-100-generic升级到3.13版本

    Docker 官网上要求Docker需要在64位版本的Ubuntu上安装,并且还要保证 Ubuntu 内核的最小版本不低于 3.10. 查看系统相关信息 可使用命令uname -a .uname -r ...

  8. linux升级ssh到6.6版本,CentOS6.5 openssh升级到openssh-7.6版本

    CentOS6.5 openssh升级到openssh-7.6版本 2018-8-3 foooy 升级前保证故障后能现场处理,或者远程卡处理,否则不要这样直接升级 yum install -y gcc ...

  9. pip show pip可以查看pip的版本以及升级pip到最新版本

    输入命令:pip show pip可以查看pip的版本,如果不是最新版最后会有提示如下: 输入命令:python -m pip install --upgrade pip可以升级pip到最新版本.

最新文章

  1. CSS之定位(粘滞定位)
  2. 迁移学习前沿研究亟需新鲜血液,深度学习理论不能掉链子
  3. python web server comparison
  4. android http pos 请求和gson解析处理head头信息
  5. 有同学问我:Fetch 和 Ajax 有什么区别?
  6. Linux 安装python 模块及库
  7. sharepoint安装心得-.net与sharepoint安装 sharepoint安装心得_过程(一)
  8. Tyvj - 1305 单调队列优化dp
  9. 80端口被system占用解决过程
  10. LaTex 英文期刊论文模板
  11. 32位Linux系统时间截止,linux – 如果系统设置为2038年以后的日期,则ntpdate失败
  12. LeetCode:三数之和
  13. 2020双周训练训练日志
  14. 兆芯国产电脑如何安装Windows+麒麟kylin双系统
  15. 计算机在职研究生的详细介绍
  16. 网络推广文案八大步,让你的朋友圈引人注目!
  17. 一周新闻纵览:工信部组织召开综合整治骚扰电话专项行动;智能锁百万指纹泄密;4G不会降速5G网速会更快
  18. 使用Flink1.16.0的SQLGateway迁移Hive SQL任务
  19. 事理图谱:事件演化的规律和模式
  20. 如何优雅的刷LeetCode

热门文章

  1. 德银天下再度冲刺港交所上市,股东提前“套现”了5个亿
  2. Excel表中右键菜单显示不正常的处理方法
  3. iOS完整App资源收集
  4. Unity热更新技术学习——AssetsBundle详解
  5. 电商项目秒杀思路和认识
  6. 【第6篇】人工智能(AI)语音测试原理和实践
  7. C++基础之元编程与constexpr
  8. APP全流程框架总结
  9. 电路分析——解题方法
  10. 海康威视软件测试实习岗面试(已拿offer)