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

JSP 자동 갱신

경기 점수를 실시간으로 중계하거나, 주식 시장의 실시간 상태, 현재의 외환 배분 등을 어떻게 구현할 수 있을까요? 이러한 실시간 기능을 구현하려면, 정기적으로 페이지를 리프레시해야 합니다.

JSP는 이러한 작업을 간편하게 만들어주는 메커니즘을 제공합니다. 이는 페이지를 정기적으로 자동으로 리프레시할 수 있습니다。

페이지를 리프레시하는 가장 간단한 방법은 response 객체의 setIntHeader() 메서드를 사용하는 것입니다. 이 메서드의 서명은 다음과 같습니다:

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

자신의 손으로 더 복잡한 프로그램을 작성해 보세요.