JSP 自動更新
想像してみてください。試合のスコアや株式市場のリアルタイムの状態、現在の外貨割り当てをライブ配信する必要がある場合、どうやって実現するのでしょうか?明らかに、このようなリアルタイム機能を実現するには、定期的にページを更新する必要があります。
JSPはこの作業を簡単にするメカニズムを提供します。定期的にページを自動更新することができます。
ページを更新する最も簡単な方法は、responseオブジェクトのsetIntHeader()メソッドを使用することです。このメソッドのシグネチャは次のとおりです。
public void setIntHeader(String header, int headerValue)
このメソッドは、指定された時間(秒単位)後にブラウザに更新を通知します。
ページ自動更新プログラムの例
この例では、setIntHeader()メソッドを使用して更新ヘッダーを設定し、デジタル時計をシミュレートしています。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>自动刷新实例</title>
</head>
<body>
<h2>自动刷新实</h2>
<%
// 设置每隔5秒刷新一次
response.setIntHeader("Refresh", 5);
// 获取当前时间
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("当前时间为: " + CT + "\n");
%>
</body>
</html>
上記のコードをmain.jspファイルに保存し、アクセスします。5秒ごとにページを更新し、システムの現在時刻を取得します。実行結果は次のとおりです。
自动刷新实 当前时间为: 6:5:36 PM
自分でもっと複雑なプログラムを書いてみることもできます。
その他の拡張