您的位置:首页 > 编程语言 > Java开发

Struts2升级到struts2.5.10.1

2017-03-14 00:00 190 查看
摘要: 鉴于最近struts2最近漏洞爆出,项目需要从struts2.2升级到2.5.10.1

1、需要升级的jar包,替换目前对应的老的jar包。所需jar包直接sturts2官网下载



2、升级jar包后需要修改的文件web.xml

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

红色代码替换成org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

3、升级后struts2配置文件修改



2.1换成2.5

另外struts2升级后统配符问题:

<action name="a*" method="{1}" class="aAction">
<result name="b">
/b.jsp
</result>
<allowed-methods>c,d</allowed-methods>
</action>

统配符使用修改的关键:添加allowed-methods,把aAction中统配的对应的方法列出来。多个方法之前用逗号隔开。

4、升级后使用的的log4j的包是2.7,原来使用的Logger也无法使用需要重新导包。(如果你以前就使用的log4j 2,则无需担心),需要调整的同学这里给一个使用的例子,本例子是properties文件配置的

注意:log4j.properties需要修改为log4j2.properties

#OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
status = error
name = PropertiesConfig
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = info

rootLogger.level = info

#定义输出:I,info,E,error
rootLogger.appenders =I,E

rootLogger.appenderRef.I.ref = InfoRollingFile
rootLogger.appenderRef.I.level = info
rootLogger.appenderRef.I.additivity = true
rootLogger.appenderRef.E.ref = ErrorRollingFile
rootLogger.appenderRef.E.level = error
rootLogger.appenderRef.E.additivity = true

appender.I.type = RollingFile
appender.I.name = InfoRollingFile
appender.I.fileName = /a/b/c/d.log
appender.I.filePattern = /a/b/c/d-%d{yyyyMMdd}-%i.log
appender.I.layout.type = PatternLayout
appender.I.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.I.policies.type = Policies
appender.I.policies.time.type = TimeBasedTriggeringPolicy
appender.I.policies.time.interval = 2
appender.I.policies.time.modulate = false
appender.I.policies.size.type = SizeBasedTriggeringPolicy
appender.I.policies.size.size = 100MB
appender.I.strategy.type = DefaultRolloverStrategy
appender.I.strategy.max = 5

appender.E.type = RollingFile
appender.E.name = ErrorRollingFile
appender.E.fileName = /a/b/c/d.log
appender.E.filePattern = /a/b/c/d_error-%d{yyyyMMdd}-%i.log
appender.E.layout.type = PatternLayout
appender.E.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.E.policies.type = Policies
appender.E.policies.time.type = TimeBasedTriggeringPolicy
appender.E.policies.time.interval = 2
appender.E.policies.time.modulate = false
appender.E.policies.size.type = SizeBasedTriggeringPolicy
appender.E.policies.size.size = 100MB
appender.E.strategy.type = DefaultRolloverStrategy
appender.E.strategy.max = 5

到此升级完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息