English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cuando el documento se mueve a una nueva ubicación y necesitamos enviar esta nueva ubicación al cliente, necesitamos utilizar la redirección de página. Por supuesto, también puede ser para equilibrio de carga, o simplemente para una selección aleatoria, en estos casos también se puede utilizar la redirección de página.
La forma más sencilla de redirigir una solicitud a otra página es utilizando el método sendRedirect() del objeto response. A continuación se muestra la definición de este método:
public void HttpServletResponse.sendRedirect(String location) throws IOException
Este método envía la respuesta, el código de estado y la nueva ubicación de la página al navegador. También puede lograr el mismo efecto utilizando juntos métodos setStatus() y setHeader():
.... String site = "http://es.oldtoolbag.com"; response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); ....
Este ejemplo muestra cómo el Servlet realiza una redirección de página a otra ubicación:
package com.w3codebox.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class PageRedirect */ @WebServlet("/PageRedirect) public class PageRedirect extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) lanza ServletException, IOException { // Establecer el tipo de contenido de la respuesta response.setContentType("text/html;charset=UTF-8"); // nueva ubicación de redirección String site = new String("http://es.oldtoolbag.com"); response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); } }
Ahora, compilamos el Servlet anterior y creamos la siguiente entrada en el archivo web.xml:
.... <servlet> <servlet-nombre>PageRedirect</servlet-nombre> <servlet-clase>PageRedirect</servlet-clase> </servlet> <servlet-mapeo> <servlet-nombre>PageRedirect</servlet-nombre> <url-patrón>/TomcatTest/PageRedirect</url-patrón> </servlet-mapeo> ....
Ahora, accediendo a la URL http://localhost:8080/PageRedirect para llamar a este Servlet. Esto lo llevará a la URL dada http://es.oldtoolbag.com。