struts2升级到2.5版本需要注意的几点

         最近在阿里云服务器总是受到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"/>

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值