Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP 자동 새로고침 기능 완벽 정리: setIntHeader()로 페이지 자동 갱신하기

JSP는 웹페이지가 일정한 시간 간격마다 자동으로 새로고침되도록 구현할 수 있는 메커니즘을 제공하여 개발자의 작업을 크게 편리하게 해줍니다.

웹페이지를 자동으로 새로고침하는 가장 간단한 방법은 response 객체의 setIntHeader() 메서드를 사용하는 것입니다. 이 메서드의 시그니처는 다음과 같습니다.

public void setIntHeader(String header, int headerValue)

이 메서드는 브라우저에 "Refresh" 헤더를 전송하며, 두 번째 인자로 전달되는 정수 값은 새로고침이 발생할 시간 간격을 초 단위로 나타냅니다.

자동 페이지 새로고침 예제

다음 예제에서는 setIntHeader() 메서드를 사용하여 Refresh 헤더를 설정합니다. 이를 통해 디지털 시계처럼 현재 시간이 주기적으로 갱신되는 화면을 손쉽게 구현할 수 있습니다.

예제 코드

<%@ page import = "java.io.*,java.util.*" %>
<html>
   <head>
      <title>Auto Refresh Header Example</title>
   </head>
   <body>
      <center>
         <h2>Auto Refresh Header Example</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("Current Time: " + CT + "
");
         %>
      </center>
   </body>
</html>

위 코드를 main.jsp 파일로 저장한 후 브라우저에서 접속해 보세요. 그러면 아래와 같이 현재 시스템 시간이 5초마다 자동으로 갱신되어 표시됩니다. JSP를 실행한 뒤 잠시만 기다리면 결과를 확인할 수 있습니다.

실행 결과

Auto Refresh Header Example
Current Time is: 9:44:50 PM

이처럼 setIntHeader() 메서드 하나만으로 별도의 JavaScript 없이도 서버 측에서 페이지 자동 갱신을 구현할 수 있습니다. 실시간 데이터 모니터링 화면, 대시보드, 알림 페이지 등 주기적인 업데이트가 필요한 다양한 상황에서 유용하게 활용할 수 있습니다.