Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java Servlets ::: Dicas & Truques ::: URLs, Documentos e Páginas

Qual a diferença entre os métodos forward() da interface RequestDispatcher e o método sendRedirect() da interface HttpServletResponse?

Quantidade de visualizações: 11461 vezes
O método forward() da interface RequestDispatcher é usado quando queremos enviar tanto o objeto de requisição ServletRequest quanto o objeto de resposta ServletResponse para um outro servlet ou página JSP dentro da mesma aplicação. Quando isso acontece, o servlet ou página JSP para a qual a requisição atual foi encaminhada terá acesso direto a quaisquer recursos que tenham sido colocados nos objetos de requisição ou resposta. Veja um exemplo:

public void doGet(HttpServletRequest request, HttpServletResponse 
  response) throws ServletException, IOException{

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

Aqui a requisição atual é transferida para a página JSP login.jsp. Importante notar que este direcionamento não é percebido pelo navegador, ou seja, não há mudança na URL exibida na barra de endereço do navegador.

O método sendRedirect() da interface HttpServletResponse também redireciona a requisição para outro servlet, JSP ou qualquer outro recurso, dentro ou fora do mesmo domínio da aplicação. Mas, desta vez, é como se o navegador fosse instruído a cancelar a requisição atual e iniciar uma nova requisição no endereço fornecido como argumento para o método sendRedirect(). Veja:

public class EstudosServlet extends HttpServlet{
  public void service(HttpServletRequest request, 
    HttpServletResponse response) 
    throws ServletException, IOException{
    // direciona para uma URL absoluta
    response.sendRedirect("http://www.google.com");
  }
}

Note que, quando usamos o método sendRedirect(), todos os objetos e parâmetros disponíveis na requisição atual serão perdidos.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Java Servlets

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 35 usuários muito felizes estudando em nosso site.