老鬼的博客 来都来啦,那就随便看看吧~
升级SSH版本(spring4+struts2.5)
发布于: 2020-12-09 更新于: 2020-12-09 分类于:  阅读次数: 

一:介绍

1.1 背景

1
2
由于老的SSH项目,用的版本比较低,如果升级jdk1.8则必须要
升级spring和struts2的版本。

1.2 jdk

1
2
spring3.x 对应 jdk1.7
spring4.x 对应 jdk1.8

二:升级步骤

2.1 pom.xml调整

  • 旧版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<properties>
<spring.version>3.2.5.RELEASE</spring.version>
<struts2.version>2.3.35</struts2.version>
<hibernate.version>3.5.5-Final</hibernate.version>
</properties>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.5</version>
</dependency>
  • 新版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<properties>
<spring.version>4.3.7.RELEASE</spring.version>
<struts2.version>2.5.16</struts2.version>
<hibernate.version>3.5.5-Final</hibernate.version>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>

<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>

2.2 web.xml调整

  • 旧版本
1
2
3
4
5
6
7
8
9
10
11
<!-- Struts过滤器 -->
<filter>
<filter-name>struts2Filter</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
  • 新版本
1
2
3
4
5
6
7
8
9
10
11
<!-- Struts过滤器 -->
<filter>
<filter-name>struts2Filter</filter-name>
<filter-class>
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
  • 备注
1
新版本的过滤器删了ng这一层

2.3 struts.xml调整

  • 旧版本
1
2
3
4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
  • 新版本
1
2
3
4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
  • 备注
1
将2.0改成2.5

2.4 quartz定时配置文件调整

  • 旧版本
1
2
3
4
<bean id="cronTriggerToken" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="updateToken" />
<property name="cronExpression" value="0 0/10 * * * ?" />
</bean>
  • 新版本
1
2
3
4
<bean id="cronTriggerToken" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="updateToken" />
<property name="cronExpression" value="0 0/10 * * * ?" />
</bean>
  • 备注
1
2
将org.springframework.scheduling.quartz.CronTriggerBean
修改成了org.springframework.scheduling.quartz.CronTriggerFactoryBean

三:关于struts2.5的标签

3.1 <s:property>

1
2
将escape的属性改成了escapeHtml,具体写法如下:
<s:property value="customerName" escapeHtml="false"/>

3.2 <s:set>

1
2
3
4
<s:set name="myCode" value=" *** "/>
修改成:
<s:set var="myCode" value=" *** "/>
将name属性改成var

3.3 <s:bean>

1
2
3
4
<s:bean name="com.whb.common.DictItem" id="dictItem" /> 
修改成:
<s:bean name="com.whb.common.DictItem" var="dictItem" />
id变成了var

3.4 <s:iterator>

1
2
3
4
<s:iterator value="tradeList" id="trade" status="status"> 
修改成:
<s:iterator value="tradeList" var="trade" status="status">‘
将id变成了var

四:备注

1
除了上述的调整,还要进行全面的测试
*************感谢您的阅读*************