橘子味的心
标题:JSP页面重定向

在本章中,我们将讨论使用JSP的页面重定向。 通常在文档移动到新位置时使用页面重定向,我们需要将客户端发送到此新位置。这可能是因为负载平衡,或者是简单的随机化。

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

  1. public void response.sendRedirect(String location)
  2. throws IOException
  3. Java

该方法将响应与状态代码和新页面位置一起发送回浏览器。也可以一起使用setStatus()setHeader()方法来实现相同的重定向示例 -

  1. ....
  2. String site = "http://www.yiibai.com" ;
  3. response.setStatus(response.SC_MOVED_TEMPORARILY);
  4. response.setHeader("Location", site);
  5. ....
  6. Shell

重定向示例

打开Eclipse,创建一个动态Web工程:Redirect,并在这个项目中创建示例JSP文件。

此示例显示JSP如何执行页面重定向到另一个位置( http://www.yiibai.com )。

文件:PageRedirect.jsp -

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ page import="java.io.*,java.util.*"%>
  4.  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  9. <title>页面重定向示例</title>
  10. </head>
  11. <body>
  12. <center>
  13. <h1>页面重定向示例</h1>
  14. </center>
  15. <%
  16. // New location to be redirected
  17. String site = new String("http://www.yiibai.com");
  18. response.setStatus(response.SC_MOVED_TEMPORARILY);
  19. response.setHeader("Location", site);
  20. %>
  21. </body>
  22. </html>
  23. HTML

编写完成上面代码,部署项目。然后打开浏览器访问URL: http://localhost:8080/Redirect/PageRedirect.jsp 调用此JSP。这将自动定向到到给定的URL: http://www.yiibai.com