sendRedirect

sendRedirect()
O método sendRedirect() da classe HttpServletResponse é utilizado para redirecionar o browser/navegador para outro recurso, uma URL por exemplo.
Exemplo:
public class SCWCD extends HttpServlet {
 public void doGet(HttpServletRequest request, HttpServletResponse response) {
 
 PrintWriter pw = response.getWriter();
 response.sendRedirect(“http://yross.wordpress.com”);
 }
}
No exemplo acima o servlet responderá ao browser com uma solicitação de redicionamento para a URL http://yross.wordpress.com, quando o browser recebe a mensagem de redicionamento, automaticamente irá para à URL dada.
Devemos ter em mente que não podemos chamar o método sendRedirect() depois que a mensagem de resposta for comitada/enviada para o browser, caso isto aconteça a exceção IllegalStateException será lançada.
Exemplo:
public class SCWCD extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) {
PrintWriter pw = res.getWriter();
pw.println(“<html><body>Hello World!</body></html>”);
pw.flush();
res.sendRedirect(“http://www.cnn.com”);
}
}
No exemplo acima ao chamarmos o método pw.flush() estamos comitando/enviando a resposta para o browser, fechando o fluxo de resposta entre o Servlet e o browser. Quando,  logo após chamamos o método res.sendRedirect() a execeção IllegalStateException é lançada.
Observação: Um ponto importante para a compreensão sobre o sendRedirect() é que o navegador vai para o segundo recurso depois que ele receber a mensagem de redirecionar o primeiro recurso. Desta forma, sendRedirect() não é transaparente para o navegador. Em outras palavras, o servlet envia uma mensagem pedindo ao navagador que obtenha o recurso externo.

O método sendRedirect() da classe interface HttpServletResponse é utilizado para redirecionar o browser/navegador para outro recurso, uma URL por exemplo.

Exemplo:

public class SCWCD extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) {

PrintWriter pw = response.getWriter();

response.sendRedirect(“http://yross.wordpress.com”);

}

}

No exemplo acima o servlet responderá ao browser com uma solicitação de redicionamento para a URL http://yross.wordpress.com, quando o browser recebe a mensagem de redicionamento, automaticamente irá para à URL dada.

Devemos ter em mente que não podemos chamar o método sendRedirect() depois que a mensagem de resposta for comitada/enviada para o browser, caso isto aconteça a exceção IllegalStateException será lançada.

Exemplo:

public class SCWCD extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res) {

PrintWriter pw = res.getWriter();

pw.println(“<html><body>Hello World!</body></html>”);

pw.flush();

res.sendRedirect(“http://www.cnn.com”);

}

}

No exemplo acima ao chamarmos o método pw.flush() estamos comitando/enviando a resposta para o browser, fechando o fluxo de resposta entre o Servlet e o browser. Quando,  logo após chamamos o método res.sendRedirect() a execeção IllegalStateException é lançada.

Observação: Um ponto importante para a compreensão sobre o sendRedirect() é que o navegador vai para o segundo recurso depois que ele receber a mensagem de redirecionar o primeiro recurso. Desta forma, sendRedirect() não é transaparente para o navegador. Em outras palavras, o servlet envia uma mensagem pedindo ao navagador que obtenha o recurso externo.

Explore posts in the same categories: SCWCD

Tags: , , , , , ,

You can comment below, or link to this permanent URL from your own site.

Comment: