JSP 自动刷新

想象一下,如果要直播比赛的比分,或股票市场的实时状态,或当前的外汇配给,该怎么实现呢?显然,要实现这种实时功能,您就不得不规律性地刷新页面。

JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面。

刷新一个页面最简单的方式就是使用response对象的setIntHeader()方法。这个方法的签名如下:

  1. public void setIntHeader(String header, int headerValue)

这个方法通知浏览器在给定的时间后刷新,时间以秒为单位。

页面自动刷新程序示例

这个例子使用了setIntHeader()方法来设置刷新头,模拟一个数字时钟:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ page import="java.io.*,java.util.*" %>
  4. <html>
  5. <head>
  6. <title>自动刷新实例</title>
  7. </head>
  8. <body>
  9. <h2>自动刷新实</h2>
  10. <%
  11. // 设置每隔5秒刷新一次
  12. response.setIntHeader("Refresh", 5);
  13. // 获取当前时间
  14. Calendar calendar = new GregorianCalendar();
  15. String am_pm;
  16. int hour = calendar.get(Calendar.HOUR);
  17. int minute = calendar.get(Calendar.MINUTE);
  18. int second = calendar.get(Calendar.SECOND);
  19. if(calendar.get(Calendar.AM_PM) == 0)
  20. am_pm = "AM";
  21. else
  22. am_pm = "PM";
  23. String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
  24. out.println("当前时间为: " + CT + "\n");
  25. %>
  26. </body>
  27. </html>

把以上代码保存在main.jsp文件中,访问它。它会每隔5秒钟刷新一次页面并获取系统当前时间。运行结果如下:

  1. 自动刷新实
  2.  
  3. 当前时间为: 6:5:36 PM

您也可以自己动手写个更复杂点的程序。