想象一下,如果要直播比赛的比分,或股票市场的实时状态,或当前的外汇配给,该怎么实现呢?显然,要实现这种实时功能,您就不得不规律性地刷新页面。
JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面。
刷新一个页面最简单的方式就是使用response对象的setIntHeader()方法。这个方法的签名如下:
- public void setIntHeader(String header, int headerValue)
这个方法通知浏览器在给定的时间后刷新,时间以秒为单位。
这个例子使用了setIntHeader()方法来设置刷新头,模拟一个数字时钟:
- <%@ page import="java.io.*,java.util.*" %>
- <html>
- <head>
- <title>Auto Refresh Header Example</title>
- </head>
- <body>
- <center>
- <h2>Auto Refresh Header Example</h2>
- <%
- // Set refresh, autoload time as 5 seconds
- response.setIntHeader("Refresh", 5);
- // Get current time
- Calendar calendar = new GregorianCalendar();
- String am_pm;
- int hour = calendar.get(Calendar.HOUR);
- int minute = calendar.get(Calendar.MINUTE);
- int second = calendar.get(Calendar.SECOND);
- if(calendar.get(Calendar.AM_PM) == 0)
- am_pm = "AM";
- else
- am_pm = "PM";
- String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
- out.println("Crrent Time: " + CT + "\n");
- %>
- </center>
- </body>
- </html>
把以上代码保存在main.jsp文件中,访问它。它会每隔5秒钟刷新一次页面并获取系统当前时间。运行结果如下:
- Auto Refresh Header Example
- Current Time is: 9:44:50 PM
您也可以自己动手写个更复杂点的程序。