在Struts2过滤器之前调用自己的过滤器

时间:2018-12-08 11:02:28

标签: struts2 tomcat8 servlet-filters

我正在尝试在“ struts2”过滤器之前调用普通的servlet过滤器。如果将过滤器声明放在struts2过滤器上方,则可以捕获基于struts的URL,但是当将此自定义过滤器放置在web.xml中的“ struts2”过滤器下方时,它将无法捕获基于struts2的URL(/动作)。除了将其放置在web.xml的“ struts2”过滤器之上,是否有任何方法可以调用我的过滤器?

1 个答案:

答案 0 :(得分:1)

如果S2应该处理请求,则S2过滤器将终止过滤器链。

这是因为一旦进入S2功能,就可以假定其他功能将由S2处理,例如通过拦截器。

这很容易改变:扩展或复制默认的S2过滤器,更新doFilter方法,并在chain.doFilter调用之后大致恢复execute.executeAction(request, response, mapping)调用。

您需要验证它是否可以按预期工作(应该,但我尚未测试)。