Servlets - Redirecionamento de página
O redirecionamento de página é uma técnica em que o cliente é enviado para um novo local diferente do solicitado. O redirecionamento de página geralmente é usado quando um documento é movido para um novo local ou pode ser devido ao balanceamento de carga.
A maneira mais simples de redirecionar uma solicitação para outra página é usando o método sendRedirect()do objeto de resposta. A seguir está a assinatura deste método -
public void HttpServletResponse.sendRedirect(String location)
throws IOException
Este método envia de volta a resposta ao navegador junto com o código de status e o novo local da página. Você também pode usar os métodos setStatus () e setHeader () juntos para obter o mesmo -
....
String site = "http://www.newpage.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
....
Exemplo
Este exemplo mostra como um servlet executa o redirecionamento de página para outro local -
import java.io.*;
import java.sql.Date;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class PageRedirect extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Set response content type
response.setContentType("text/html");
// New location to be redirected
String site = new String("http://www.photofuntoos.com");
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
}
}
Agora vamos compilar o servlet acima e criar as seguintes entradas em web.xml
....
<servlet>
<servlet-name>PageRedirect</servlet-name>
<servlet-class>PageRedirect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PageRedirect</servlet-name>
<url-pattern>/PageRedirect</url-pattern>
</servlet-mapping>
....
Agora chame esse servlet usando o URL http: // localhost: 8080 / PageRedirect. Isso redirecionaria você para o URL http://www.photofuntoos.com.