English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Atualização Automática JSP

Imaginemos, se você quiser transmitir o placar de um jogo ao vivo, ou o estado em tempo real da bolsa de valores, ou a distribuição atual de câmbio, como você faria? Obviamente, para implementar essa funcionalidade em tempo real, você terá que atualizar a página regularmente.

O JSP oferece um mecanismo que simplifica este trabalho, permitindo que a página seja atualizada automaticamente em intervalos de tempo definidos.

A maneira mais simples de atualizar uma página é usar o método setIntHeader() do objeto response. A assinatura deste método é a seguinte:

public void setIntHeader(String header, int headerValue)

Este método notifica o navegador para atualizar após o tempo especificado, medido em segundos.

Exemplo de programa de atualização automática da página

Este exemplo usa o método setIntHeader() para configurar o cabeçalho de atualização, simulando um relógio digital:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Exemplo de Atualização Automática</<title>
</<head>
<body>
<h2>refresh automaticamente</h2>
<%
   // definir a cada5segundos
   response.setIntHeader("Refresh", 5);
   // Obter o horário atual
   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("O horário atual é: ") + CT + "\n");
%>
</body>
</html>

Salve o código acima no arquivo main.jsp e acesse-o. Ele atualizará a cada5a cada segundo atualiza a página e obtém o horário atual do sistema. O resultado é o seguinte:

refresh automaticamente
O horário atual é: 6:5:36 PM

Você também pode escrever um programa mais complexo.