在整合Struts2与hibernate时,用@WebFilter注释拦截器,遇到个bug,filter过滤器只过滤jsp,不过滤action,在web.xml配置filter后filter才生效,网上说配置顺序可能有问题,老师的filter是a开头,而我的是t开头,在Struts2Filter的后面,赶紧试了试,发现@WebFilter是按文件顺序执行,而且到了Struts2Filter后,之后的filter就无效了,也是,@WebFilter没有配置顺序,才按文件顺序执行。除非访问的是html。
可以将StrutsPrepareAndExecuteFilter拆分为StrutsPrepareFilter和StrutsExecuteFilter,在这两个filter之间加上自己的过滤器。