struts 2.3.16 升级2.3.37(2.3.X系列官方最终版)之痛苦经历

有一个项目名为 lq (小青)。由于之前采用 struts 2.3.16 有许多漏洞,因此需要升级到 2.3.37(也就是2.3.X 系列官方最终版本)。这个过程非常的痛苦,为了避免后续重蹈覆辙,所以摘要记录到本篇。

1. Jar 包的升级

最主要就是 struts-core-2.3.37 这个,struts2-spring-plugin ,spring, 另外还有 freemaker-jar 等等,总之要以官方的最小升级包为准;

2. web.xml 里的修改

由于此前项目不涉及 spring,因此 在web.xml 里面并没有这项配置,而 struts 2.3.37 版本与 spring 捆绑严重,所以需要添加以下配置:

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>    

3. spring 里的相关配置文件

在 src 目录下添加 applicationContext.xml 文件,包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

  </beans>

4. 调整 struts.properties 文件:

增加以下配置:

struts.objectFactory=spring

至此,各种启动异常宣告终结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值