JSPの自動更新
試合のスコア、株式市場のリアルタイムの状況、現在の外国為替の配給状況をライブ ブロードキャストしたい場合、どうやって実現するかを想像してみてください。明らかに、このリアルタイム機能を実現するには、ページを定期的に更新する必要があります。
JSP は、この作業を簡単にするメカニズムを提供し、ページを定期的に自動的に更新できます。
ページを更新する最も簡単な方法は、応答オブジェクトの 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
さらに複雑なプログラムを自分で書くこともできます。