Duvida com url-pattern

3 respostas
gulira

Pessoal é possivel utilizar um url-pattern com /* e fazer com q o servlet nao consiga capturar um requisicao a uma pagina .jsp???

Ex:
Tenho esta configuração

...
	<servlet>
		<servlet-name>Controlador</servlet-name>
		<servlet-class>Controlador</servlet-class>
	</servlet>	
	<servlet-mapping>
		<servlet-name>Controlador</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
...

Quando solicitar uma pagina por exemplo: http://localhost/index.jsp
ela nao caia no servlet Controlador, só se for outra coisa tipo http://localhost/servlet111.do

valeu

3 Respostas

osmarvinci

Ola,

Não tenho certeza que entendi sua dúvida, vamos lá.

Primeiro, para definir acesso ao servlet, ou seja, que o post/get da jsp não entre em determinada servlet, você pode usar a “javax.servlet.filter”, com ela você consegue definir padrões de acesso, ou seja, definir qual(is) filtro(s) a requisição deve passar, e para quais servlets.

LoginFilter com.teste.LoginFilter LoginFilter /*

Então, na classe com.teste.LoginFilter você implementa a interface Filter, possibilitando a configuração do acesso.
No seu caso, ao dar o post/get no index.jsp, caso a request não passe pelos parâmetros do filtro, ela não chegará na servlet.

marcelo_mococa

para o servlet tratar todas as requisições com final .do, coloque o url-pattern assim:

<servlet>
 		<servlet-name>Controlador</servlet-name>
 		<servlet-class>Controlador</servlet-class>
 	</servlet>	
 	<servlet-mapping>
 		<servlet-name>Controlador</servlet-name>
 		<url-pattern>*.do</url-pattern>
 	</servlet-mapping>
gulira

Ai que esta a questa marcelo.

Eu quero tratar todas as requisicoes no servlet menos ser for uma jsp.

Não quero ter uma extençao “.do” fixa (“poderia ser qualquer coisa”) para chamada de servlet
más tambem nao quero que uma requisicao “xxxx.jsp” passe por esta servlet

Criado 19 de junho de 2007
Ultima resposta 20 de jun. de 2007
Respostas 3
Participantes 3