Servlets: redirección de página
La redirección de página es una técnica en la que se envía al cliente a una nueva ubicación distinta a la solicitada. La redirección de página se usa generalmente cuando un documento se mueve a una nueva ubicación o puede deberse al equilibrio de carga.
La forma más sencilla de redirigir una solicitud a otra página es mediante el método sendRedirect()del objeto de respuesta. A continuación se muestra la firma de este método:
public void HttpServletResponse.sendRedirect(String location)
throws IOException
Este método envía la respuesta al navegador junto con el código de estado y la ubicación de la nueva página. También puede usar los métodos setStatus () y setHeader () juntos para lograr lo mismo:
....
String site = "http://www.newpage.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
....
Ejemplo
Este ejemplo muestra cómo un servlet realiza la redirección de página a otra ubicación:
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);
}
}
Ahora compilemos el servlet anterior y creemos las siguientes entradas en 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>
....
Ahora llame a este servlet usando la URL http: // localhost: 8080 / PageRedirect. Esto lo redireccionará a la URL http://www.photofuntoos.com.