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

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

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

  1. public void HttpServletResponse.sendRedirect(String location) throws IOException

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

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

实例:

这个例子显示了Servlet如何将页面重定向到另一个位置:

  1. import java.io.*;
  2. import java.sql.Date;
  3. import java.util.*;
  4. import javax.servlet.*;
  5. import javax.servlet.http.*;
  6. public class PageRedirect extends HttpServlet{
  7. public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  8. {
  9. // Set response content type
  10. response.setContentType("text/html");
  11. // New location to be redirected
  12. String site = new String("http://www.easonjim.com");
  13. response.setStatus(response.SC_MOVED_TEMPORARILY);
  14. response.setHeader("Location", site);
  15. }
  16. }

现在来编译Servlet并在web.xml文件中创建以下条目:

  1. ....
  2. <servlet>
  3. <servlet-name>PageRedirect</servlet-name>
  4. <servlet-class>PageRedirect</servlet-class>
  5. </servlet>
  6. <servlet-mapping>
  7. <servlet-name>PageRedirect</servlet-name>
  8. <url-pattern>/PageRedirect</url-pattern>
  9. </servlet-mapping>
  10. ....

现在使用URL http://localhost:8080/PageRedirect来调用这个Servlet。这将跳转到给定的URL http://www.easonjim.com 中。

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

Servlet实现页面重定向的更多相关文章

  1. 【Filter 页面重定向循环】写一个过滤器造成的页面重定向循环的问题

    今天做一个过滤器,碰上页面重定向循环的情况: 浏览器的访问路径是:http://192.168.16.104:8080/biologyInfo/login/login/login/login/logi ...

  2. Jsp与servlet之间页面跳转及参数传递实例(转)

    原网址:http://blog.csdn.net/ssy_shandong/article/details/9328985 11. jsp与servlet之间页面跳转及参数传递实例 分类: Java ...

  3. Servlet交互【重定向 与 请求分派】详解

    Servlet交互 在serlvet中,需要调用另外一个资源来对浏览器的请求进行响应,两种方式实现: 调用HttpServletResponse.sendRedirect 方法实现 重定向 调用Req ...

  4. Spring MVC页面重定向

    以下示例显示如何编写一个简单的基于Web的重定向应用程序,这个应用程序使用重定向将http请求传输到另一个页面. 基于Spring MVC - Hello World实例章节中代码,创建创建一个名称为 ...

  5. servlet转发与重定向区别

    servlet转发与重定向   HttpServletRequest: 表示浏览器向服务器发送的请求报文,由Tomcat创建然后作为参数传递给我们doget,dopost方法. 功能:getParam ...

  6. JSP学习笔记(五):日期处理、页面重定向、点击量统计、自动刷新和发送邮件

    一.JSP 日期处理: 使用JSP最重要的优势之一,就是可以使用所有Java  API.本节讲述Java中的Date类,它在java.util包下,封装了当前日期和时间. Date类有两个构造函数.第 ...

  7. spring mvc helloworld 和表单功能、页面重定向

    Spring MVC Hello World 例子 这里有个很好的教程:https://www.cnblogs.com/wormday/p/8435617.html 下面的例子说明了如何使用 Spri ...

  8. JavaWeb学习总结-05 Servlet 与页面的交互(02)

    一 模拟请求数据 为了测试方便,把请求 json,txt, xml,html格式的文件放到了公网上面,可以通过以下地址请求: http://wx.glab.cn/xpxiaowu4java/json/ ...

  9. MVC页面重定向'页面跳转

    MVC页面重定向,主要有以下几种形式: 1.Response.Redirect();方法 using System; using System.Collections.Generic; using S ...

随机推荐

  1. 使用Jenkins进行android项目的自动构建(4)

    加入单元测试 android单元测试很多都是使用Instrumentation进行的,这里讲的是试用JUnit,为什么用JUnit呢?因为使用Instrumentation需要打包apk安装,然后再进 ...

  2. MSSQL 重新生成索引,重新组织索引

    > 5% 且 < = 30% ALTER INDEX REORGANIZE > 30% ALTER INDEX REBUILD WITH (ONLINE = ON)* * 重新生成索 ...

  3. 迅为7寸工业触摸屏嵌入式平台可用于ARM嵌入式一体机

    7寸触摸屏介绍产品名称:7寸IPS高清屏幕分辨率:1280*800触摸屏类型:电容屏(五点触摸)接线方式: FPC 可应用于嵌入式一体机.自动售货机.广告机.智能自动终端.零售终端等 ARM平台处理器 ...

  4. 【java】查重类的实现

    import java.util.Vector; public class ElementCheck { // 重复优先 static Vector<Integer> CheckSameE ...

  5. CAD使用GetxDataString读数据(com接口)

    主要用到函数说明: MxDrawEntity::GetxDataString2 读取一个字符扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, retval ...

  6. vue的[__ob__: Observer]

    为什么会获取不到里面的值 因为:vue data 里面值都是有这个属性的.这是被vue接管的数据,observer是Vue核心中最重要的一个模块(个人认为),能够实现视图与数据的响应式更新,底层全凭o ...

  7. ORA-39126: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS

    末尾加上EXCLUDE=STATISTICS /home/opt/oracle/11g/bin/expdp user/password directory=backup2 network_link=d ...

  8. RNN,LSTM,GRU基本原理的个人理解

    记录一下对RNN,LSTM,GRU基本原理(正向过程以及简单的反向过程)的个人理解 RNN Recurrent Neural Networks,循环神经网络 (注意区别于recursive neura ...

  9. Java 调用存储过程 返回结果集

    这里使用Oracle数据库的thin连接. 下面是存储过程SQL 1 createorreplaceprocedure proc3(stid in student.stuid%type, stname ...

  10. Xcode5真机调试

    http://blog.csdn.net/u011332675/article/details/17397849    (真机调试详解) http://blog.sina.com.cn/s/blog_ ...