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

JSP autoFlush 속성이란? 버퍼 자동 플러시 개념과 사용법

JSP autoFlush 속성이란?

JSP의 autoFlush 속성은 출력 버퍼(output buffer)가 가득 찼을 때, 버퍼의 내용을 자동으로 클라이언트에 전송(플러시)할 것인지, 아니면 버퍼 오버플로우(buffer overflow)를 알리는 예외(exception)를 발생시킬 것인지를 결정하는 page 디렉티브 속성입니다.

속성 값에 따른 동작은 다음과 같습니다.

  • true (기본값): 버퍼가 가득 차면 자동으로 플러시하여 출력 내용을 클라이언트로 전송합니다.
  • false: 버퍼가 가득 차면 자동으로 플러시하지 않고 예외를 발생시켜 버퍼 오버플로우를 알립니다.

autoFlush = "false" 설정 예제

다음 디렉티브는 서블릿의 출력 버퍼가 가득 찼을 때 예외를 발생시키도록 설정합니다.

<%@ page autoFlush = "false" %>

이 설정은 대용량 응답 생성 시 버퍼 크기를 초과하는 상황을 명확하게 감지하고 싶거나, 출력 시점을 직접 제어해야 하는 경우에 유용합니다.

autoFlush = "true" 설정 예제

반대로 다음 디렉티브는 버퍼가 가득 찼을 때 자동으로 플러시하도록 설정합니다.

<%@ page autoFlush = "true" %>

대부분의 일반적인 웹 페이지에서는 기본값인 true를 사용하며, 별도로 지정하지 않아도 자동 플러시가 적용됩니다.

buffer 속성과 함께 사용하기

실무에서는 버퍼 크기를 지정하는 buffer 속성과 autoFlush 속성을 하나의 page 디렉티브에 함께 작성하는 것이 일반적입니다.

<%@ page buffer = "16kb" autoflush = "true" %>

위 예제는 출력 버퍼 크기를 16KB로 설정하고, 버퍼가 가득 차면 자동으로 플러시하도록 구성한 것입니다. 이처럼 두 속성을 조합하면 메모리 사용량과 응답 성능 사이의 균형을 효율적으로 관리할 수 있습니다.