JSP Actualización automática

Imagina que quieres transmitir en vivo el marcador de un partido, o el estado en tiempo real del mercado de valores, o la asignación actual de divisas. ¿Cómo lo harías? Evidentemente, para lograr esta funcionalidad en tiempo real, tendrías que actualizar la página periódicamente.

JSP ofrece un mecanismo que facilita este trabajo, ya que permite actualizar la página automáticamente en intervalos regulares.

La forma más sencilla de actualizar una página es utilizar el método setIntHeader() del objeto response. La firma de este método es la siguiente:

public void setIntHeader(String header, int headerValue)

Este método notifica al navegador que se actualice después de un tiempo determinado, expresado en segundos.


Ejemplo de programa de actualización automática de página

Este ejemplo utiliza el método setIntHeader() para establecer el encabezado de actualización y simular un reloj digital:

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

Guarda el código anterior en el archivo main.jsp y accede a él. La página se actualizará cada 5 segundos y obtendrá la hora actual del sistema. El resultado es el siguiente:

自动刷新实

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

También puedes escribir un programa más complejo por tu cuenta.

Otras extensiones