Latest web development tutorials

Pagina Servlet aggiorna automaticamente

Supponiamo di avere un sito web, è quello di mostrare una punteggi dei giochi dal vivo o condizioni del mercato azionario o di tassi di cambio. Per tutti questi tipi di pagine, è necessario aggiornare periodicamente la pagina.

Java Servlet fornisce un meccanismo in modo che la pagina si aggiorna automaticamente intervallo in un dato momento.

Il modo più semplice per aggiornare la pagina è quello di utilizzare il metodosetIntHeader dell'oggetto risposta ().Quanto segue è la definizione di questo metodo:

setIntHeader public void (intestazione String, int headerValue)

Queste informazioni testa metodo di "refresh" valore intero, insieme con un intervallo di tempo (in secondi) per inviare al browser.

aggiornamento automatico della pagina di esempio

Questo esempio mostra come utilizzare il metodo ServletsetIntHeader () per impostare le informazioni di intestazione Refreshper aggiornare automaticamente la pagina.

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");
	}

}

Ora cerchiamo di compilare il Servlet sopra, e creare la seguente voce nel file 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>

Ora visitando http: per chiamare il Servlet 8080 / TomcatTest / Refresh: // localhost. Questo visualizzerà una volta ogni 5 secondi, l'ora di sistema corrente. Eseguire il Servlet, e aspettare di vedere i risultati:

Pagina Usa Servlet aggiorna automaticamente

Orario: 9: 44: 50 PM