English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Quando o documento se move para um novo local e precisamos enviar essa nova localização ao cliente, precisamos usar a redireção de página. Claro, também pode ser usado para balanceamento de carga, ou apenas para fins aleatórios, essas situações também podem usar a redireção de página.
A maneira mais simples de redirecionar uma solicitação para outra página é usar o método sendRedirect() do objeto response. A seguir está a definição deste método:
public void HttpServletResponse.sendRedirect(String location) throws IOException
Este método envia a resposta, o código de status e a nova localização da página de volta ao navegador. Você também pode alcançar o mesmo efeito usando os métodos setStatus() e setHeader():
.... String site = "http://pt.oldtoolbag.com"; response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); ....
Este exemplo mostra como o Servlet realiza a redireção de página para outro local:
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) lança ServletException, IOException { // Definir o tipo de conteúdo da resposta response.setContentType("text/html;charset=UTF-8"); // nova localização para redirecionar String site = new String("http://pt.oldtoolbag.com"); response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); } }
Agora, vamos compilar o Servlet acima e criar a seguinte entrada no arquivo web.xml:
.... <servlet> <servlet-nome>PageRedirect</servlet-nome> <servlet-classe>PageRedirect</servlet-classe> </servlet> <servlet-mapeamento> <servlet-nome>PageRedirect</servlet-nome> <url-padrão>/TomcatTest/PageRedirect</url-padrão> </servlet-mapeamento> ....
Agora, ao acessar a URL http://localhost:8080/PageRedirect para chamar este Servlet. Isso o levará para a URL fornecida http://pt.oldtoolbag.com。