学科分类
目录
Java Web

网页定时刷新并跳转

在web开发中,有时会遇到定时跳转页面的需求。在HTTP协议中,定义了一个Refresh头字段,它可以通知浏览器在指定的时间内自动刷新并跳转到其它页面,接下来,通过一个案例来演示如何使用response对象实现网页的定时刷新并跳转,如例1所示。

例1 RefreshServlet.java

 1    package cn.itcast.chapter05.response; 
 2    import java.io.*;
 3    import javax.servlet.*;
 4    import javax.servlet.http.*;
 5    public class RefreshServlet extends HttpServlet {
 6        public void doGet(HttpServletRequest request, 
                          HttpServletResponse response)
 7                throws ServletException, IOException {
 8             // 2秒后刷新并跳转到传智播客官网首页
 9       response.setHeader("Refresh","2;URL=http://www.itcast.cn");
 10        }
 11        public void doPost(HttpServletRequest request, 
                           HttpServletResponse response)
 12                throws ServletException, IOException {
 13            doGet(request, response);
 14        }
 15    }

在web.xml中配置完RefreshServlet映射后,启动Tomcat服务器,在浏览器的地址中输入URL地址http://localhost:8080/chapter05/RefreshServlet访问RefreshServlet,发现浏览器2秒后自动跳转到了传智播客的官网首页,如图7所示。

图7 运行结果

有时候,我们希望当前页面可以自动刷新,例如,定时刷新火车票页面,查看车票的剩余情况。这时,我们可以通过response.setHeader("Refresh","3")语句使当前页面定时刷新。接下来,对例1进行修改,使当前页面每隔3秒自动刷新,修改后的代码如例2所示。

例2 RefreshServlet.java

 1    package cn.itcast.chapter05.response; 
 2    import java.io.*;
 3    import javax.servlet.*;
 4    import javax.servlet.http.*;
 5    public class RefreshServlet extends HttpServlet {
 6        public void doGet(HttpServletRequest request, 
                          HttpServletResponse response)
 7                throws ServletException, IOException {
 8             // 每隔3秒定时刷新当前页面
 9    response.setHeader("Refresh","3");
 10        
 11        response.getWriter().println(new java.util.Date());// 当前时间
 12        }
 13        public void doPost(HttpServletRequest request, 
                           HttpServletResponse response)
 14                throws ServletException, IOException {
 15            doGet(request, response);
 16        }
 17    }

启动Tomcat服务器,在浏览器的地址栏中输入URL地址http://localhost:8080/chapter05/RefreshServlet访问RefreshServlet,可以看到浏览器每隔3秒刷新一次,并且输出了当前的时间值。

点击此处
隐藏目录