Web.xml chamando dois servlets para rastreabilidade

2 respostas
I

Pessoal,

Obtenho diversas informações neste forum, mas raramente posto um novo tópico então vai lá minha questão:

Tenho um Sistema que contem diversos Servlets, e cada servlet ao serem chamados no browser exibem(println) paginas HTML.
Exemplo:

Servlet: CLIENTE ao ser chamado http://localhost:8080/XXX/CLIENTE. É exebido na tela uma página com cadastro de clientes gerado por esse servlet CLIENTE por println que imprimem o codigo HTML.

Servlet: DADOSPR ao ser chamado http://localhost:8080/XXX/DADOSPR. É exebido na tela uma página com cadastro de dados profissionais gerado por esse servlet DADOSPR por println que imprimem o codigo HTML.

e assim por diante.

O que eu precisava e não sei se é possível é:
No momento que eu digitar http://localhost:8080/XXX/CLIENTE o servlet CLIENTE fosse chamado e junto com ele um segundo servlet “GENERICO” ao mesmo tempo.

Esse servlet “GENERICO” Seria chamado tbm por DADOSPR.
A idéia é criar uma rastreabilidade do que é feito no sistema.
Com esse Servlet GENERICO eu estária guardando a informação de qual servlet foi chamado e consequentemente qual operação foi realizada.

Isso é possível?

Agradeço se houver sugestões. Vejo que o pessoal do Forum concerta cada encrenca que a aparece, q essa pode não ser um bicho de 7 cabeças… :slight_smile:

Vlw

2 Respostas

victorwss

Eu te daria duas alternativas:

  1. Use um ServletFilter.

  2. Use um Servlet principal (Appliction Front Controller) cuja tarefa é decidir para qual outro servlet ele vai redirecionar.

sergio_ferraz

Basta criar um ServletFilter e mapeá-lo no web.xml para as servlets que você deseja que sejam filtradas.
A classe que fará a filtragem irá implementar javax.servlet.Filter onde está definido o método doFilter.
No doFilter você terá à disposição objetos do tipo HttpServletRequest e HttpServletResponse(os mesmos que irão p/ o servlet de destino)
caso queira interceptar a requisição antes do servlet que esta sendo filtrado.

Criado 5 de fevereiro de 2009
Ultima resposta 7 de fev. de 2009
Respostas 2
Participantes 3