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.
 
 
 
 
 

Responder a