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: 11554 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:----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







