SCWCD: Filter

4 respostas
Carol_M_de_Paula

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"?

<servlet>
		<servlet-name>S1</servlet-name>
		<servlet-class>com.example.web.MyServlet</servlet-class>
	</servlet>

	<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>

4 Respostas

F

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?

Dieval_Guizelini

Oi,

tenta colocar nos seus filters-mapping:

<dispatcher>REQUEST</dispatcher>

fw

Carol_M_de_Paula

Dieval Guizelini:
Oi,

tenta colocar nos seus filters-mapping:

<dispatcher>REQUEST</dispatcher>

fw

Nao funcionou :frowning:

Carol_M_de_Paula

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

<servlet>
		<servlet-name>S1</servlet-name>
		<servlet-class>com.example.web.MyServlet</servlet-class>
	</servlet>

	<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>
Criado 3 de abril de 2009
Ultima resposta 6 de abr. de 2009
Respostas 4
Participantes 3