Latest web development tutorials

page Servlet actualise automatiquement

Supposons que vous avez un site Web, il est de montrer un des scores de jeux en direct ou les conditions du marché boursier ou des taux de change. Pour tous ces types de pages, vous devez actualiser périodiquement la page.

Java Servlet fournit un mécanisme pour que la page sera automatiquement l'intervalle de rafraîchissement à un moment donné.

La meilleure façon de rafraîchir la page est d'utiliser la méthodede setIntHeader de l'objet de réponse ().Ce qui suit est la définition de cette méthode:

setIntHeader public void (tête String, int headerValue)

Cette information de la tête de la méthode "Refresh" valeur entière, avec un intervalle de temps (en secondes) pour envoyer au navigateur.

rafraîchissement automatique de la page d'instance

Cet exemple montre comment utiliser la méthode ServletsetIntHeader () pour définir les informations d' en- tête Refreshpour actualiser automatiquement la page.

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

}

Maintenant, nous allons compiler les Servlet ci-dessus, et de créer l'entrée suivante dans le fichier 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>

Maintenant, en visitant http: pour appeler le Servlet 8080 / TomcatTest / Refresh: // localhost. Cela permet d'afficher une fois toutes les 5 secondes, le temps de système actuel. Exécutez le Servlet, et attendre de voir les résultats:

Page Utilisez Servlet actualise automatiquement

Heure: 9: 44: 50 PM