Duvida com servlet

2 respostas
M

olá pessoal
tenho um servlet que está funcionando 100 %
meu web.xml está assim

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 version="2.5">
 
 <servlet>
 
  <servlet-name>
   classe.Vencidos_Nao_Pagos
  </servlet-name>
 
  <servlet-class>
   classe.Vencidos_Nao_Pagos
  </servlet-class>
 
 </servlet>
 
 <servlet-mapping>
 
  <servlet-name>
   classe.Vencidos_Nao_Pagos
  </servlet-name>
  <url-pattern>
   /servlet/*
  </url-pattern>
 </servlet-mapping>
 
</web-app>

agora criei outro servlet, chamado liquidados
dae mudo no web.xml para

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 version="2.5">
 
 <servlet>
 
  <servlet-name>
   classe.Liquidados
  </servlet-name>
 
  <servlet-class>
   classe.Liquidados
  </servlet-class>
 
 </servlet>
 
 <servlet-mapping>
 
  <servlet-name>
   classe.Liquidados
  </servlet-name>
  <url-pattern>
   /servlet/*
  </url-pattern>
 </servlet-mapping>
 
</web-app>

dae funciona 100 % também
agora preciso rodar os 2 servlet simultaneamente
tentei colocar classe.*
mas não funciona
o que fazer
obrigado

2 Respostas

galileu.gt

No web.xml voce deixou os dois servlets definidos e mapeados??

davidbuzatto

No mapeamento (mapping) você especifica um “apelido” para o servlet.
O seu segundo servlet sempre vai ser executado com base no primerio? Se sim, porque você precisa de dois servlets? Não poderia ser uma classe “normal”?
Caso não, você pode usar o método forward do RequestDispatcher, onde você redirecionaria para o segundo servlet, passando ainda os objetos request e response.

Exemplo:

Servlet 1: // faz alguma coisa.... request.getRequestDispatcher( "caminho do servlet 2" ).forward( request, response );

Isso quer dizer que o seu servlet 1 vai executar o método desejado e vai mandar a execução para o servlet 2.

Note que você precisa declarar os DOIS servlets no web.xml caso você precisa mesmo executar os dois servlets em ordem.
Dependendo do que você está fazendo ainda pode usar um filtro… Mas isso é outra história…

[]´s

Criado 4 de junho de 2010
Ultima resposta 5 de jun. de 2010
Respostas 2
Participantes 3