Latest web development tutorials

Servlets Seite automatisch aktualisiert

Angenommen, Sie haben eine Website, ist es ein Live-Spiel-Scores oder Aktienmarktbedingungen oder der Wechselkurse zu zeigen. Für alle diese Arten von Seiten, müssen Sie in regelmäßigen Abständen aktualisieren Sie die Seite.

Java Servlet stellt einen Mechanismus bereit, so dass die Seite automatisch Intervall zu einer gegebenen Zeit neu geladen.

Der einfachste Weg , um die Seite zu aktualisieren , ist die Antwort des Objekts MethodesetIntHeader () zu verwenden.Im Folgenden ist die Definition dieser Methode:

public void setIntHeader (String-Header, int header)

Diese Methode Kopfinformation "Refresh" Integer-Wert, zusammen mit einem Zeitintervall (in Sekunden) zurück an den Browser zu senden.

Automatische Aktualisierung der Seite Instanz

Dieses Beispiel zeigt , wie Sie die ServletsetIntHeader () -Methode verwenden , um die Refresh- Header - Informationen einstellen , um automatisch die Seite aktualisieren.

package com.w3big.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;

import java.util.GregorianCalendar;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Refresh
 */
@WebServlet("/Refresh")
public class Refresh extends HttpServlet {
	private static final long serialVersionUID = 1L;
   
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		// 设置刷新自动加载的事件间隔为 5 秒
		response.setIntHeader("Refresh", 5);
	 
		// 设置响应内容类型
		response.setContentType("text/html;charset=UTF-8");
	 
		// 获取当前的时间
		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;
	    
		PrintWriter out = response.getWriter();
		String title = "使用 Servlet 自动刷新页面";
		String docType = "<!DOCTYPE html> \n";
		out.println(docType +
	        "<html>\n" +
	        "<head><title>" + title + "</title></head>\n"+
	        "<body bgcolor=\"#f0f0f0\">\n" +
	        "<h1 align=\"center\">" + title + "</h1>\n" +
	        "<p>当前时间是:" + CT + "</p>\n");
	}

}

Nun wollen wir die oben Servlet kompilieren, und erstellen Sie den folgenden Eintrag in der Datei web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>Refresh</servlet-name>
    <servlet-class>com.w3big.test.Refresh</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Refresh</servlet-name>
    <url-pattern>/TomcatTest/Refresh</url-pattern>
  </servlet-mapping>
</web-app>

Nun, indem Sie http: anrufen, um den Servlets 8080 / TomcatTest / Refresh: // localhost. Dies wird angezeigt, sobald alle 5 Sekunden, die aktuelle Systemzeit. Führen Sie das Servlet, und warten, um die Ergebnisse zu sehen:

Verwenden Sie Servlets Seite automatisch aktualisiert

Aktuelle Zeit: 9: 44: 50 PM