现在的位置: 首页 > 综合 > 正文

struts2版本升级记[2.1.8->2.3.15]

2013年04月17日 ⁄ 综合 ⁄ 共 715字 ⁄ 字号 评论关闭

最近struts2暴安全漏洞,产品紧急升级。记录下升级过程。

1:首先修改pom.xml中struts2及其插件的版本,全部改成2.3.15。以前产品依赖于com.opensymphony.xwork-core.2.0.6,现在xwork-core移到struts2的包下了,而且版本也和struts2的版本保持一致。因此直接移掉了对xwork-core的依赖,交给struts2传递依赖吧。

2:RegexFieldValidator这个struts验证器的参数变了,需要将原先的expression换成regx。

3:原先的ActionContextCleanUpFilterDispatcher过滤器被新的StrutsPrepareAndExecuteFilter替代了,现在只需要在web.xml中配置这一个过滤器就行了,配置方式和FilterDispatcher一样。

4:如果使用了sitemesh,在其装饰文件中使用了诸如<s:head
/>的struts2标签,则需要使用strutsPrepareFilter和strutsExecuteFilter两个过滤器来替代
StrutsPrepareAndExecuteFilter,过滤的顺序为:strutsPrepareFilter 》sitemeshFilter
》strutsExecuteFilter

5:针对新的StrutsPrepareAndExecuteFilter、strutsPrepareFilter和strutsExecuteFilter,需要对以前的产品扩展做适配。适配方式较简单,在init中创建一个适配的FilterConfig,然后通过它进行产品扩展。

抱歉!评论已关闭.