Используя Tomcat, @WebFilter не работает с внутри web.xml

​​Вот рабочий файл web.xml:




    
        30
    

     
        rememberMeCookieFilter
        be.example.fun.jsp.filters.RememberMeCookieFilter
    

    
        mustBeSignedInFilter
        be.example.fun.jsp.filters.MustBeSignedInFilter
    

    
        rememberMeCookieFilter
        /*
    

    
        mustBeSignedInFilter
        /private/*
    

Когда я удаляю элементы и использую вместо них следующие аннотации:

@WebFilter(filterName="rememberMeCookieFilter")
public class RememberMeCookieFilter implements Filter

@WebFilter(filterName="mustBeSignedInFilter")
public class MustBeSignedInFilter implements Filter

Затем Tomcat 7.0.14 выдает следующую ошибку:

java.lang.IllegalArgumentException: Filter mapping must specify either a  or a 
    at org.apache.catalina.core.StandardContext.validateFilterMap(StandardContext.java:2956)
    at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:2915)
    at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1180)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)
        ...

Я последовал ответу на этот вопрос, но это не работает для меня.

Вот зависимости моего веб-приложения:


        
        
            org.slf4j
            slf4j-api
            1.6.4
        
        
            ch.qos.logback
            logback-core
            1.0.0
        
        
            ch.qos.logback
            logback-classic
            1.0.0
        
        
            org.codehaus.groovy
            groovy
            1.8.3
        

        
        
            javax.servlet
            servlet-api
            3.0
            jar
            provided
            
        

        
        
            junit
            junit
            4.8.2
            test
        
    

РЕДАКТИРОВАТЬ: Проблема возникает только при использовании Tomcat (7.0.14). Стеклянная рыбка в порядке.

8
задан Community 23 May 2017 в 11:59
поделиться