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. |
![]() |
Veja mais Dicas e truques de Java Servlets |
Dicas e truques de outras linguagens |
C++ - C++ Windows API GUI - Como criar sua primeira aplicação de interface gráfica usando C++ e WinAPI |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |