0

我对动态 Web 模块 >= 3.0 的 WebFilter 注释感到非常困惑。我读了这篇文章(https://www.concretepage.com/java-ee/jsp-servlet/how-to-use-filter-in-servlet-3-with-webfilter-annotation)告诉@WebFilter 不能使用没有 web.xml 因为@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 注释中具有“值”有什么意义呢?会被忽略吗?它会覆盖 web.xml 中给出的 url 模式吗?

4

0 回答 0