Ola Carolina,
Eu tive problemas com o redirect e https. Quando mandava o redirect o
browser saia do https e cai no http (gerando um erro, pois todo o site
esta abaixo do https).
Resolvi o problema da seguinte forma, ao inves de usar o redirect, usei
outros dois metodos do response que listo abaixo; faca as adaptacoes
necessarias para o seu caso e veja o que acontece:
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", meu_link);
e digo que funcionou perfeitamente como eu esperava.
PS: eh uma zone do Apache se comunicando via apj13 com tomcat 3.2.2,
portanto esse codigo se encontra em um JSP.
Ate mais
PS: para maiores informacoes sobre os metodos, de uma olhada na
documentacao
------------------------------------------------------
.''`.
: :' : Debian User
`. `'`
`-
/"\
\ /
X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \ CAMPANHA DA FITA ASCII - CONTRA MAIL EM HTML
Linux ... a nice place to live
*******************************************
* Alex Eduardo Chiaranda *
* mail: [EMAIL PROTECTED] *
* [EMAIL PROTECTED] *
* [EMAIL PROTECTED] *
* Pagina => http://www.eep.br/~aechiara *
* ICQ => UIN 13070511 *
* 4o Ano de Ciencia da Computacao *
* Escola de Engenharia de Piracicaba *
* Piracicaba - SP *
*******************************************
On Wed, 20 Mar 2002, Carolina Diniz [[EMAIL PROTECTED]] wrote:
> Ois de novo,
>
> (Escrevi no dia 12, e depois no dia 14, mas n�o apareceu na lista, nem no
> hist�rico.. Resolvi mandar de novo! Desculpem se aparecerem v�rios..)
>
>
>
> muito obrigada a todos que responderam! :-)
>
> bom, gostaria de comentar algumas das respostas:
>
> Duas pessoas me falaram pra usar o dispatcher.forward ao inv�s do
> sendRedirect. Mas eu preciso que o browser fique com a nova url, o que n�o
> aconteceria com o dispatcher, certo? Como comentei, trabalho muito com
> atualiza��o de dados, (atualiza��o que n�o � s� update, pode ser insert,
> delete..), e o navegador estar com a nova url (que s� exibe uma tela) evita
> que possam acontecer alguns probleminhas - e a necessidade do tratamento
> deles - com o uso do back do browser, cache, etc, etc...
> Tem outra forma de enviar o conte�do de outra url, mas fazendo o navegador
> ficar com a nova?
> O sendRedirect � um m�todo que n�o deveria ser usado? Eu deveria investir no
> forward fazendo os tratamentos que hoje nao preciso por causa do
> sendRedirect?
>
> Outra pessoa questionou se eu t� passando os par�metros corretos para a
> segunda chamada.. t� sim, com certeza, j� imprimi as chamadas pra ver se tem
> algo diferente, e com certeza n�o tem! A mesma chamada �s vezes d� certo, �s
> vezes n�o.. aleatoriamente!
>
> E outras duas comentaram sobre o out.println, que n�o deve ser usado antes
> do redirect. Eu olhei aqui e existia um out.println de uma vari�vel sim,
> ap�s o sendRedirect, antes do return.
> Mas esta vari�vel est� vazia quando ocorre o redirecionamento.
> De qualquer forma s� farei o out.println() se estiver em opera��es que
> precisarem.
> Mas.. Isto poderia estar gerando erros de redirecionamento s� de vez em
> quando, como tem acontecido comigo?
>
>
> Bom, pra ilustrar um pouco o que tenho aqui vai um pseudo-c�digo:
>
> service()...
> {
> switch operacao
> {
> case alteracaoForm..
> {
> alteracaoOk = alteraDados..
> if(alteracaoOk)
> sendRedirect(operacaoExibicaoTela);
> else
> htmlResultante= msgErro....
> }
> case exibicaoTela..
> {
> ...
> htmlResultante= exibeTela...
> }
> }
> .. (finalizacoes do service)
> out.println(htmlResultante);
> return;
> }
>
>
> ----- Original Message -----
> From: Carolina Diniz [[EMAIL PROTECTED]]
> To: '[EMAIL PROTECTED]'
> Sent: Friday, March 08, 2002 11:26 AM
> Subject: [java-list] sendRedirect() - por que �s vezes n�o funciona?
>
>
> 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.
>
>
>
>
>
>
> ------------------------------ 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]
> -------------------------------------------------------------------------
>
------------------------------ 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]
-------------------------------------------------------------------------