Direfença entre response.sendRedirect e dispachter

Boa tarde amigos,

Não estou conseguindo entender a diferença do comando abaixo (numa SERVLET) e o response.sendRedirect…

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

Percebi algumas peculiaridades como no caso do dispachter mesmo apontando para outra página lá em cima fica o endereço da servlet…

Mas gostaria de uma explicação mais profunda

desde já agradeço!
:wink: :wink: :wink: :wink:

O response.sendRedirect manda um header HTTP para que o NAVEGADOR mande uma nova requisição para o servidor, requisitando o novo recurso. Neste caso a URL na barra de endereços se altera.

Já usando o RequestDispatcher a requisição é “enviada” no Server-Side para outro componente da WebApp, que então a tratará. Do ponto de vista do navegador, a segunda abordagem é feita em apenas uma requisição, por isso a URL não muda na barra de endereços.

Espero que eu tenha conseguido explicar apropriadamente… =)

Att.,