Opa!
Alguém pode comentar as diferenças?
response.sendRedirect("");
RequestDispatcher rd = request.getRequestDispatcher("pagina.jsp");
rd.forward(request,response);
Atn.
Dennys Fredericci
Opa!
Alguém pode comentar as diferenças?
response.sendRedirect("");
RequestDispatcher rd = request.getRequestDispatcher("pagina.jsp");
rd.forward(request,response);
Atn.
Dennys Fredericci
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
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
é exatamente o que foi falado, por isso entre sendRedirect e o RequestDispatcher, eu fico com a segunda opção.
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.