English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Представьте, если бы вам нужно было транслировать результаты матчей в реальном времени, или текущий статус фондового рынка, или текущие курсы обмена валюты, как это можно реализовать? Очевидно, для реализации такой функции обновления в реальном времени вам нужно регулярно обновлять страницу.
JSP предоставляет механизм для упрощения этой задачи, позволяющий автоматически обновлять страницу по расписанию.
Самый простой способ обновить страницу - это использовать метод setIntHeader() объекта response. Сигнатура этого метода такая:
public void setIntHeader(String header, int headerValue)
Этот метод уведомляет браузер о необходимости обновления страницы через указанное время, измеряемое в секундах.
Этот пример использует метод setIntHeader() для установки заголовков обновления, имитируя цифровой час:
<%@ 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>
Сохраните следующий код в файле main.jsp и откройте его. Страница будет обновляться каждые 5 секунд и получать текущее время системы. Результат выполнения будет следующим:
Автоматическая обновляемость Текущее время: 6:5:36 PM
Вы также можете написать более сложную программу.