JSP 자동 새로 고침


게임의 점수나 실시간 주식시장 상황, 현재 외환 배급 상황을 실시간으로 방송하고 싶다면 어떻게 해야 할지 상상해 보세요. 당연히 이 실시간 기능을 구현하려면 페이지를 정기적으로 새로 고쳐야 합니다.

JSP는 이 작업을 간단하게 만드는 메커니즘을 제공하여 정기적으로 페이지를 자동으로 새로 고칠 수 있습니다.

페이지를 새로 고치는 가장 쉬운 방법은 응답 개체의 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

더 복잡한 프로그램을 직접 작성할 수도 있습니다.