!= entre sendRedirect e RequestDispacher

4 respostas
D

Opa!

Alguém pode comentar as diferenças?

response.sendRedirect("");
RequestDispatcher rd = request.getRequestDispatcher("pagina.jsp");
rd.forward(request,response);

Atn.
Dennys Fredericci

4 Respostas

M

o sendRedirect envia o status de redirecionamento pro browser e a url q ele deve fazer outra requisição

o dispatcher faz isso no servidor mesmo, ou seja, economisa um request do cliente =p

essa é a diferença básica

C

sendRedirect: É executado no cliente, ou seja, o fluxo volta para o browser e o browser manda para a outra página.

Usando o RequestDispatcher (RD): Não volta para o cliente, é a mesma requisição. Por exemplo, na página vc clicou num botão que manda pra um servlet. Esse servlet ainda não processou o pedido e passa para um outro servlet através do RD. Note que a requisição ainda não acabou, vc só está passando ela pra frente. No caso do sendRedirect a requisição acaba (volta para o cliente) e começa outra qdo vc chama a outra página.

[]'s
carisio

R

é exatamente o que foi falado, por isso entre sendRedirect e o RequestDispatcher, eu fico com a segunda opção.

F

Se vc quiser acessar uma página que se encontra no WEB-INF (TomCat) ou subpastas vc não consegue com o sendRedirect somente com o RequestDispatcher.
Coloquei páginas no WEB-INF por questão de segurança, para evitar que o usuário via browser acesse-as diretamente.

Criado 11 de maio de 2005
Ultima resposta 11 de mai. de 2005
Respostas 4
Participantes 5