Carol

use o seguinte que irá funcionar

RequestDispatcher dispatcher = 
request.getRequestDispatcher("sua_pagina.jsp");
dispatcher.forward(request, response);

quando uma exceção é levantada e se usa o sendRedirect acontece o erro de 
página não exibida...

abracos,

raphael silva



From: "Carolina Diniz [[EMAIL PROTECTED]]" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
Subject: [java-list] sendRedirect() - por que às vezes não funciona?
Date: Fri, 8 Mar 2002 11:26:05 -0300

Olás,

Gostaria de saber se alguém já teve problemas com o sendRedirect..
O meu caso é o seguinte:

Tenho um servlet que executa várias ações, dependendo da solicitação. na
maior parte do tempo ele faz exibicao de telas (formularios) e atualização
de dados.
O sendRedirect é usado neste servlet em alguns momentos, com um
redirecionamento para o próprio servlet, com o novo pedido.
Por exemplo: o servlet recebe um pedido de atualização de dados, faz a
atualização e redireciona para uma solicitação de exibição de tela.

De vez em quando este redirecionamento não é completado, o código da
primeira solicitação acaba (como no exemplo citado, a atualização dos dados
é completada), mas a segunda parte não é feita, a segunda solicitação não
chega ao servlet, e o navegador exibe aquela página de erro de 'a página não
pode ser exibida..', o segundo perdido se perde totalmente, é terrível!!!
:-)
E pela minha análise feita até agora isto é totalmente aleatório,  faço um
pedido, recebo mensagem de erro, faço o mesmo pedido logo em seguida, a
página retorna.. ou 2, 3 retornam, 1 não..
Estive guardando alguns dados sobre as requisições -  como número de acessos
no momento, navegador utilizado, etc.. - pra tentar achar alguma causa pra
este comportamento, mas até agora não encontrei nada que desse alguma luz..
:-(

A única coisa que já percebi é que dos vários lugares que uso o sendRedirect
é só neste - atualização de dados e exibição de tela - que este problema tem
acontecido. E o que tem de diferente neste caso? Bom, os dados que chegam na
primeira solicitação (de atualização de dados) costumam ser muitos.. e a
atualização dos dados às vezes demora um tempinho.. mas o estranho é que
quando acontece o erro a resposta vem até relativamente rápido,
diferentemente de quando a todo o processo é executado. lembrando aqui que
mesmo quando o erro acontece a atualização é feita, a segunda requisição é
que se perde..

Bom.. fiquei pensando algumas coisas.. provavelmente nada a ver,  chute
total... se for muita bobagem desculpem, mas... aí vai..

se pode ser porque no sendredirect é usado get, e o get às vezes está sendo
perdido.. pode ser? (detalhe: a segunda solicitação não ultrapassa o limite
de caracteres do get..), tem como usar post pra esta minha necessidade?

alguma configuração no servidor?
no servidor em questão  o servlet está rodando no jrun, com jre 1.3 da sun.
Isto está acontecendo somente em uma empresa, o servlet roda em outras. O
acesso feito de uma máquina lá de dentro não tem mostrando problema,
diferentemente de um acesso feito de fora..

alguma característica do cliente que está acessando?
se o cliente está acessando por trás de alguma estrutura que atrapalhe este
processo..
vi que isto já aconteceu usando linha discada, mas também de dentro da uma
outra empresa, com estrutura linha dedicada, proxy, etc..

Não sei mais o que testar.. Se alguém tiver alguma pista, por favor me
indique!! Estou desesperada!!! :-)
Não gostaria de deixar de usar o redirecionamento pois isto no meu caso (de
atualização de dados) pode causar uma série de probleminhas com back do
browser, cache, etc, etc..


Aguardo qq ajuda!!!

Obrigada,
Carol.









_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a