2014-01-24 11:42:12

Tomcat7.0.30以上全局Filter加载顺序问题

好吧又被Tom猫坑了,因为上一次是解决Tomcat6和Tomcat7的加载问题被坑了。Tomcat 版本带来的web.xml filter和servlert配置的变化 。昨天测试发现Tomcat7.0.30再一次修改了Filter的加载顺序。

在org.apache.catalina.core.ApplicationFilterRegistration.java的版本变动(修改74-78行、103-107行):

对比下发现加载的顺序变化了,Tomcat7.0.29的isMatchAfter判断的顺序反了。所以想办法把 顺序弄回去就行了。把context.addFilterMapBefore(filterMap);换到if里面ok。

修改完源码把catalina.jar里面的class文件替换,一切正常。

发表回复