Servlet 网页重定向

当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向。当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。

重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。下面是该方法的定义:

public void HttpServletResponse.sendRedirect(String location)
throws IOException

该方法把响应连同状态码和新的网页位置发送回浏览器。您也可以通过把 setStatus() 和 setHeader() 方法一起使用来达到同样的效果:

....
String site = "http://www.newpage.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site); 
....

实例

本实例显示了 Servlet 如何进行页面重定向到另一个位置:

 1 import java.io.*;
 2 import java.sql.Date;
 3 import java.util.*;
 4 import javax.servlet.*;
 5 import javax.servlet.http.*;
 6 
 7 public class PageRedirect extends HttpServlet{
 8     
 9   public void doGet(HttpServletRequest request,
10                     HttpServletResponse response)
11             throws ServletException, IOException
12   {
13       // 设置响应内容类型
14       response.setContentType("text/html");
15 
16       // 要重定向的新位置
17       String site = new String("http://www.w3cschool.cc");
18 
19       response.setStatus(response.SC_MOVED_TEMPORARILY);
20       response.setHeader("Location", site);    
21     }
22 } 
View Code

现在让我们来编译上面的 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 http://www.w3cschool.cc。

 

本文转载自:http://www.runoob.com/servlet/servlet-page-redirect.html

posted on 2015-12-11 09:02  奈何作贼  阅读(174)  评论(0编辑  收藏  举报

导航