如何在Servlet中禁用不需要的WebFilter(嵌入jar中)?

时间:2015-12-22 12:46:59

标签: java servlet-filters servlet-3.0

在我的Servlet应用程序中,我正在使用一个包含@WebFilter类的Jar。我不应该删除Jar依赖项或其中的@WebFilter类。我尝试为不需要的过滤器设置一些虚假的过滤网址模式,但它不起作用,因为@WebFilter映射到/*

 package com.somepackage;

 @WebFilter("/*")
 public class CustomFilter implements Filter {

这就是我在web.xml中设置伪造网址的方法

<filter>
    <filter-name>CustomFilter</filter-name>
    <filter-class>com.somepackage.CustomFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CustomFilter</filter-name>
    <url-pattern>/thispathnotexist/*</url-pattern>
</filter-mapping>

它没有任何效果,因为所有请求仍然通过CustomFilter传递。有什么办法可以在我的应用程序中禁用这个特定的过滤器吗?

1 个答案:

答案 0 :(得分:0)

web.xml会覆盖注释。您可以在web.xml中声明它并使用一些虚拟路径

我相信您正在寻找Disable @WebFilter (embedded in dependency jar)