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

JSP 응답 객체(Response Object)란? 개념부터 자동 새로고침 예제까지

JSP에서 응답 객체(response 객체)javax.servlet.http.HttpServletResponse 클래스의 인스턴스를 의미합니다. 서버는 클라이언트의 요청을 처리할 때 요청 객체(request 객체)를 생성하는 것과 마찬가지로, 클라이언트에게 전달할 응답을 표현하는 객체 역시 함께 생성합니다.

응답 객체의 주요 역할

응답 객체는 새로운 HTTP 헤더를 생성하고 다루기 위한 다양한 인터페이스를 제공합니다. 이를 통해 JSP 개발자는 다음과 같은 작업을 수행할 수 있습니다.

  • 새로운 쿠키(Cookie) 추가
  • 날짜 및 시간 정보(데이트 스탬프) 설정
  • HTTP 상태 코드 지정

또한 응답 객체의 메서드를 활용하면 서블릿 프로그램에서 HTTP 응답 헤더를 직접 설정할 수 있으며, 이 객체는 서버가 클라이언트로 보내는 응답 그 자체를 나타냅니다.

setIntHeader() 메서드로 자동 새로고침 구현하기

다음 예제는 setIntHeader() 메서드를 사용하여 Refresh 헤더를 설정함으로써, 페이지가 5초마다 자동으로 갱신되는 디지털 시계를 구현한 것입니다.

<%@ page import = "java.io.*,java.util.*" %>
<html>
    <head>
        <title>자동 새로고침 헤더 예제</title>
    </head>
    <body>
        <center>
            <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");
            %>
        </center>
    </body>
</html>

실행 결과

현재 시간: 9:44:50 PM

위 코드에서 response.setIntHeader("Refresh", 5) 부분이 핵심입니다. 이 한 줄이 브라우저에게 "5초 후에 현재 페이지를 다시 불러오라"는 지시를 담은 Refresh 헤더를 전송하기 때문에, 화면에는 실시간으로 갱신되는 디지털 시계가 표시됩니다.