我对使用Dynamic Web Modules> = 3.0的WebFilter注释感到困惑。我读了这篇文章(https://www.concretepage.com/java-ee/jsp-servlet/how-to-use-filter-in-servlet-3-with-webfilter-annotation),告诉我没有web.xml就不能使用@WebFilter,因为@WebFilter没有定义顺序,它只减少了web.xml中存储的配置。
我无法在没有url模式的情况下创建web.xml。例如。这是无效的:
<filter-mapping>
<filter-name>OAuthSecurityFilter</filter-name>
</filter-mapping>
<filter-mapping>
<filter-name>GuiceFilter</filter-name>
</filter-mapping>
它无效,因为除了filter-name之外,还必须提供至少一个服务器名称或url映射。但在这种情况下,我想知道如果我还指定注释的值意味着什么:
@WebFilter(value="/*", filterName="OAuthSecurityFilter")
public class OAuthSecurityFilter implements Filter {
你看,如果你不能在web.xml中指定没有url模式的过滤器,并且你必须在web.xml中提供过滤器,那么在WebFilter注释中获得“value”有什么意义呢?它会被忽略吗?它会覆盖web.xml中给出的url模式吗?