JSP에서 page 지시문(directive)은 JSP 컨테이너에 현재 JSP 페이지와 관련된 처리 방침을 전달하기 위해 사용됩니다. page 지시문은 JSP 페이지 내 어느 위치에든 작성할 수 있지만, 가독성과 유지보수를 고려해 관례상 페이지 최상단에 배치하는 것이 일반적입니다.
page 지시문의 기본 문법
page 지시문의 기본적인 작성 형식은 다음과 같습니다.
<%@ page attribute = "value" %>
위 문법을 XML 형식으로 표현하면 아래와 같습니다.
<jsp:directive.page attribute = "value" />
page 지시문의 주요 속성
아래 표는 page 지시문에서 사용할 수 있는 주요 속성과 각각의 역할을 정리한 것입니다.
| 번호 | 속성 및 설명 |
|---|---|
| 1 | buffer 출력 스트림에 적용할 버퍼링 모델을 지정합니다. |
| 2 | autoFlush 서블릿 출력 버퍼의 동작 방식(자동 비움 여부)을 제어합니다. |
| 3 | contentType 응답의 MIME 타입과 문자 인코딩 방식을 정의합니다. |
| 4 | errorPage Java 런타임 예외(unchecked exception) 발생 시 오류 정보를 보고할 다른 JSP 페이지의 URL을 지정합니다. |
| 5 | isErrorPage 현재 JSP 페이지가 다른 페이지의 errorPage 속성으로 지정된 오류 처리 페이지인지 여부를 나타냅니다. |
| 6 | extends 생성된 서블릿이 반드시 상속해야 할 슈퍼클래스를 지정합니다. |
| 7 | import JSP에서 사용할 패키지나 클래스 목록을 지정합니다. 자바의 import 문과 동일한 역할을 수행합니다. |
| 8 | info 서블릿의 getServletInfo() 메서드를 통해 접근할 수 있는 설명 문자열을 정의합니다. |
| 9 | isThreadSafe 생성된 서블릿의 스레딩(멀티스레드 처리) 모델을 정의합니다. |
| 10 | language JSP 페이지에서 사용하는 프로그래밍 언어를 정의합니다. |
| 11 | session 해당 JSP 페이지가 HTTP 세션에 참여할지 여부를 지정합니다. |
| 12 | isELIgnored JSP 페이지 내 EL(Expression Language) 표현식을 무시할지 여부를 지정합니다. |
| 13 | isScriptingEnabled 스크립틀릿(scriptlet) 등 스크립팅 요소의 사용 가능 여부를 결정합니다. |
이처럼 page 지시문은 버퍼 설정, 인코딩, 예외 처리, 세션 관리 등 JSP 페이지의 전반적인 실행 환경을 제어하는 핵심 도구입니다. 각 속성의 특성을 잘 이해하고 활용하면 더 안정적이고 효율적인 JSP 애플리케이션을 개발할 수 있습니다.