以下记录一下升级Struts2 2.5.17版本:
1、建议先下载核心包,替换先核心包看是否可以正常运行,如果不行再查看缺失哪些包及配置
https://struts.apache.org/download.cgi
2、替换项目中所有struts开头的jar包(一般替换所有版本较低的包,高版本一般不替换),
删除xwork-core-2.3.15.1.jar(在struts2.5.13版本中,这个包已经被整合,避免冲突删除旧包)
3、修改web.xml
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
修改成
代码语言:javascript复制org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilte
4、如果存在jsp-jsonString保存需要修改文件jsonString.jsp相关文件
5、修改strut.xml文件
代码语言:javascript复制“-//Apache Software Foundation//DTD Struts Configuration 2.5//EN”
“http://struts.apache.org/dtds/struts-2.5.dtd”>
6、2.5版本的404报错问题,需要在struts.xml配置
代码语言:javascript复制<!-- 配置2.5版本,struts.xml需要配置,需要放在package里面并且在第一个action配置的前面 -->
<global-allowed-methods>regex:.*</global-allowed-methods>
7、其他异常: ERROR ParametersInterceptor Unexpected Exception caught setting ‘order’ on ‘class XXXX : Error setting expression ‘order’ with value [‘desc’, ]
当struts.devMode设置为true时,html表单数据中有和action属性匹配不上的参数名时就会被这样显示出来,没什么大碍,就是为了便于使用者调试。struts.devMode设置为false就没有了。
处理方法:参考https://blog.csdn.net/moonpure/article/details/51034656
以上完成升级,祝你成功!
————————————————
本文为CSDN博主「刀客行」的原创文章,转载于:https://blog.csdn.net/CZT56CSDN/article/details/82186696