Servlets - 页面重定向

页面重定向是一种将客户端发送到请求之外的新位置的技术.页面重定向通常在文档移动到新位置时使用,或者可能是因为负载平衡.

将请求重定向到另一个页面的最简单方法是使用方法 sendRedirect( )响应对象.以下是此方法的签名 :

public void HttpServletResponse.sendRedirect(String location)
throws IOException

此方法将响应以及状态代码和新页面位置发送回浏览器.你也可以一起使用setStatus()和setHeader()方法来实现相同 :

.... 
String site = "https://img01.yuandaxia.cn/Content/img/tutorials/servlets/www.newpage.com" ; 
response.setStatus(response.SC_MOVED_TEMPORARILY); 
response.setHeader("Location", site);  
....

示例

此示例显示servlet如何执行页面重定向到另一个位置 :

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);    
   }
}

现在让我们编译上面的servlet并在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>
....

现在使用URL http://localhost:8080/PageRedirect调用此servlet.这会将您重定向到URL https://img01.yuandaxia.cn/Content/img/tutorials/servlets/s =&d =&r = PLF&ref = https%3A%2F%2Fwww.tutorialspoint.com%2Fservlets%2Fservlets-page-redirect