以下内容引用自http://wiki.jikexueyuan.com/project/servlet/page-redirect.html

当文档移动到一个新的位置时,通常会使用页面重定向,需要将客户端发送到这个新位置或者也可能是由于负载均衡,或者只是为了简单的随机。

重定向请求到另一个页面的最简单的方式是使用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如何将页面重定向到另一个位置:

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.easonjim.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 http://www.easonjim.com 中。

测试工程:https://github.com/easonjim/5_java_example/tree/master/servletbasics/test13

最新文章

  1. GJM : 各大开发游戏引擎
  2. 基于 BinaryReader 的高效切割TXT文件
  3. linux系统中批量查找文件与文件内容的方法
  4. IOS证书/私钥/代码签名/描述文件
  5. 【Web】写个HTML页面去调试HTTP接口方便些
  6. Moses更改权重的命令变化 -d -t -
  7. 巧用九宫格以减少UI资源量
  8. DES加密,Tk写的简单的GUI
  9. HTML+CSS基础学习笔记(4)
  10. Attribute 特性
  11. C#部分方法定义
  12. MFC如何生成一个可串行化的类
  13. [置顶] 关于redhat系统yum源的配置1
  14. 16、手把手教你Extjs5(十六)Grid金额字段单位MVVM方式的选择
  15. SQL替换语句 批量修改、增加、删除字段内容
  16. 【洛谷P3014】Cow Line
  17. Mybatis_3.基于注解的增删改查
  18. Permissions 0755 for &#39;/home/lonecloud/.ssh/id_rsa&#39; are too open.
  19. System.Data.Entity.Internal.AppConfig&quot;的类型初始值设定项引发异常
  20. 在UnrealEngine中用Custom节点实现径向模糊

热门文章

  1. JavaScript - try catch finally throw
  2. 电商网站项目Angular+Bootstrap+Node+Express+Mysql
  3. Python学习 Day 12 调试 断言 logging pdb pdb.set_trace
  4. php5.6.30开启redis扩展
  5. 阿里云ECS安装sqlserver,本地无法连接问题排查思路
  6. ztree 展开一级节点 | ztree只显示到二级目录
  7. springboot Tomcat connector configured to listen on port 8081 failed to start.
  8. React开发实时聊天招聘工具 -第四章 Redux
  9. 启发式合并 CodeForces - 600E
  10. Spring中注解注入bean和配置文件注入bean