SCWCD: Filter

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]

Oi Carol!

Meu entendimento sobre filtros é o que aprendi estudando o HFSJ. Até onde posso entender está tudo correto. Será que é mesmo no DD que está o seu erro?

Oi,

tenta colocar nos seus filters-mapping:

<dispatcher>REQUEST</dispatcher>

fw

[quote=Dieval Guizelini]Oi,

tenta colocar nos seus filters-mapping:

<dispatcher>REQUEST</dispatcher>

fw
[/quote]

Nao funcionou :frowning:

Eu mudei o DD para conter somente , nao mais , ai os dois filtros rodaram. Porque o nao esta funcionando? Alguem tem alguma ideia?

[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>
	<url-pattern>/MyDir/Main.do</url-pattern>
</filter-mapping>[/code]