Servlets

Boa tarde a todos…

Meu problema é o seguinte:

Estou usando como servidor de web a seguinte máquina:

Windows 2000 server
+
TomCat
+
Apache

Estou usando o NAT como roteamento.

Meu problema é o seguinte:

Ao rodar arquivos .html e .jsp, não tem problema, mas ao requisitar uma servlet que possui um vector que armazena itens solicitados pelo cliente, não roda legal, um segundo item solicitado sobrepõe o primeiro…

Isso tudo chamando no browser pelo dns, mas se chamo pelo numero do IP, funciona normalmente…

O que fazer???

Provavelmente tem algum erro no teu codigo.
Declarar variaveisc como membro da classe do Servlet acarreta em altissima probabilidade dos dados serem alterados por requests diferentes.

Ou seja, se vc tiver

public class MeuServlet extends HttpServlet {
    public ArrayList seilaList;
    ...
}

e usar “seilaList” querendo que os dados sejam unicos para cada request, voce tera problemas, pois essa propriedade nao eh garantida que seja diferente para cada requisicao.

Rafael

Oq voce aconselha fazer nessas situações Steil?

Depende do que voce quer… se sao dados de configuracao do usuario, coloque na session ou em cookie…
Se sao dados que alguem preencheu no formulario e voce deseja guardar, armazene em alguma fonte de dados e recupere quando precisar.

Colocar as propriedades de manipulacao da requisicao no servlet da a entender que voce esta usando um servlet para cada coisa ( AdicionaClienteServlet, ProcuraProdutosServlet etc… )… Se estiver fazendo isso, use variaveis locais ( escopo do metodo ), ao inves de propriedades da classe.

Rafael