最近struts2频繁发布高危漏洞,升级工作必不可少,以下是我升级的过程,供大家参考,希望能帮到大家。
因为S2-048漏洞问题,需要对struts2的版本进行升级。
1、 首先进行jar包替换,将低版本的包替换成高版本。(左边为替换前,右边是替换后,中途删除了一些不必要的包)
2、 替换了jar包后,可能会文件处理的方法报错,如下
改成以下就可以了:
3、 修改web.xml配置
上面这个配置可加可不加,但路径一定要对哦。
包的路径改变了。
4、 这下项目可以正常启动。下面访问页面又出问题了,action找不到?要修改struts.xml中的代码。
Xml头部修改代码为:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
添加以下红框中的代码:
<global-allowed-methods>regex:.*</global-allowed-methods>
5、 修改的差不多,可是,可是,有的页面居然还是访问不了。原来是有的标签不适用了。如下:
1) escape=”false”要替换成escapeHtml=”false”
2) 所有的标签中均需要按照规范,不得添加多余的属性。如下添加了多余的id,这样就会导致报错,页面无法访问。直接将id删掉。
<s:iterator id=”its” value="picNewsList" status="it">
<li><s:property value="#it.index+1"/></li>
</s:iterator>
我是直接去掉id,有人说也可以直接将id必成var。
6、完成升级。