Eu fiz uma app de teste para ver como funciona os filtros. Criei dois filtros, um com o url-pattern para um diretorio e outro com o servlet-name com o caminho da minha unica servlet. Em cada um dos filtros eu coloquei uma msg e adicionei essa msg num ArrayList que eh um atributo no ServletContext. No codigo da servlet, eu faco um loop no ArrayList porem aparece somente a msg de um dos filtros, o do url-pattern do diretorio. Coloquei abaixo o web.xml. Serah que alguem consegue ver algum erro no xml abaixo, especialmente no filtro F2 que eh o que nao “roda”?
[code]
S1
com.example.web.MyServlet
<servlet-mapping>
<servlet-name>S1</servlet-name>
<url-pattern>/MyDir/Main.do</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.example.listener.MyContextListener</listener-class>
</listener>
<filter>
<filter-name>F1</filter-name>
<filter-class>com.example.web.MyFilterDir</filter-class>
</filter>
<filter>
<filter-name>F2</filter-name>
<filter-class>com.example.web.MyFilterServ</filter-class>
</filter>
<filter-mapping>
<filter-name>F1</filter-name>
<url-pattern>/MyDir/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>F2</filter-name>
<servlet-name>/MyDir/Main.do</servlet-name>
</filter-mapping>[/code]
