JSP Automatische Aktualisierung

Stellen Sie sich vor, Sie möchten Spielstände live übertragen, den Echtzeitstatus des Aktienmarkts oder die aktuellen Devisenkurse anzeigen – wie würden Sie das umsetzen? Offensichtlich müssen Sie die Seite regelmäßig aktualisieren, um solche Echtzeitfunktionen zu erreichen.

JSP bietet einen Mechanismus, der diese Arbeit erleichtert; es kann die Seite automatisch zeitgesteuert aktualisieren.

Der einfachste Weg, eine Seite zu aktualisieren, ist die Verwendung der Methode setIntHeader() des response-Objekts. Die Signatur dieser Methode lautet wie folgt:

public void setIntHeader(String header, int headerValue)

Diese Methode benachrichtigt den Browser, nach einer bestimmten Zeit zu aktualisieren, wobei die Zeit in Sekunden angegeben wird.


Beispiel für ein Programm zur automatischen Seitenaktualisierung

Dieses Beispiel verwendet die Methode setIntHeader(), um den Refresh-Header zu setzen und eine digitale Uhr zu simulieren:

<%@ 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>

Speichern Sie den obigen Code in der Datei main.jsp und greifen Sie darauf zu. Es wird die Seite alle 5 Sekunden aktualisieren und die aktuelle Systemzeit abrufen. Die Ergebnisse sind wie folgt:

自动刷新实

当前时间为: 6:5:36 PM

Sie können auch selbst ein komplexeres Programm schreiben.

Andere Erweiterungen