Latest web development tutorials

servlet página se actualiza automáticamente

Supongamos que usted tiene un sitio web, que es mostrar un vivo puntuación de los juegos o las condiciones del mercado de valores o tipos de cambio. Para todos estos tipos de páginas, es necesario actualizar periódicamente la página.

Java Servlet proporciona un mecanismo para que la página se actualizará automáticamente intervalo en un momento dado.

La forma más fácil de actualizar la página es el uso del método objeto respuestasetIntHeader ().La siguiente es la definición de este método:

pública setIntHeader vacío (cabecera String, int headerValue)

Esta información la cabeza método "Actualizar" valor entero, junto con un intervalo de tiempo (en segundos) para enviar de vuelta al navegador.

Actualización automática del tipo de página

Este ejemplo muestra cómo utilizar el método servletsetIntHeader () para establecer la información de cabecera Refreshpara actualizar automáticamente la página.

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

}

Ahora vamos a compilar el servlet anteriormente, y cree la siguiente entrada en el archivo 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>

Ahora visitando http: llamar al servlet 8080 / TomcatTest / Actualizar: // localhost. Esto mostrará una vez cada 5 segundos, la hora actual del sistema. Ejecutar el servlet, y esperar a ver los resultados:

La página de uso de servlets se actualiza automáticamente

Hora: 9: 44: 50 PM