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

JSP 페이지 지시문(page directive)의 13가지 핵심 속성 총정리

JSP 페이지 지시문이란?

JSP(JavaServer Pages)에서 페이지 지시문(page directive)은 JSP 페이지 전체에 적용되는 속성들을 컨테이너에 알려주는 역할을 합니다. 페이지 지시문은 <%@ page ... %> 형태로 작성되며, 버퍼링 방식, 캐릭터 인코딩, 오류 처리, 세션 사용 여부 등 페이지의 동작 방식을 세밀하게 제어할 수 있습니다.

하나의 JSP 페이지에는 여러 개의 page 지시문을 포함할 수 있으며, import 속성처럼 여러 번 사용해도 되는 속성과 한 번만 사용해야 하는 속성이 있습니다.

페이지 지시문의 주요 속성 목록

다음 표는 JSP 페이지 지시문과 함께 사용할 수 있는 13가지 속성과 각각의 용도를 정리한 것입니다.

번호속성 및 설명
1buffer
출력 스트림에 적용할 버퍼링 모델을 지정합니다. 예를 들어 buffer="16kb"처럼 버퍼 크기를 설정할 수 있습니다.
2autoFlush
서블릿 출력 버퍼의 동작을 제어합니다. true로 설정하면 버퍼가 가득 찼을 때 자동으로 내용을 출력하고, false로 설정하면 버퍼가 가득 찼을 때 예외가 발생합니다.
3contentType
응답의 MIME 타입과 문자 인코딩 방식을 정의합니다. 예: contentType="text/html; charset=UTF-8"
4errorPage
Java의 언체크드(unchecked) 런타임 예외 발생 시 이를 처리하여 보고할 다른 JSP 페이지의 URL을 정의합니다.
5isErrorPage
현재 JSP 페이지가 다른 JSP 페이지의 errorPage 속성으로 지정된 오류 처리 페이지인지 여부를 나타냅니다. true로 설정하면 exception 내장 객체를 사용할 수 있습니다.
6extends
생성된 서블릿이 반드시 상속해야 할 슈퍼클래스(부모 클래스)를 지정합니다.
7import
자바의 import 문과 마찬가지로, JSP 페이지에서 사용할 패키지나 클래스의 목록을 지정합니다. 유일하게 여러 번 중복 사용이 허용되는 속성입니다.
8info
서블릿의 getServletInfo() 메서드를 통해 접근할 수 있는 페이지 설명 문자열을 정의합니다.
9isThreadSafe
생성된 서블릿의 스레딩 모델을 정의합니다. true이면 여러 요청을 동시에 처리할 수 있고, false이면 하나의 요청씩 순차적으로 처리됩니다.
10language
JSP 페이지에서 사용할 프로그래밍 언어를 정의합니다. 현재는 기본값인 "java"가 일반적입니다.
11session
JSP 페이지가 HTTP 세션에 참여할지 여부를 지정합니다. 기본값은 true이며, false로 설정하면 session 내장 객체를 사용할 수 없습니다.
12isELIgnored
JSP 페이지 내의 EL(Expression Language) 표현식을 무시할지 여부를 지정합니다. true로 설정하면 ${...} 형태의 EL 표현식이 평가되지 않습니다.
13isScriptingEnabled
스크립틀릿(scriptlet), 표현식(expression), 선언(declaration) 같은 스크립팅 요소의 사용 가능 여부를 결정합니다. false로 설정하면 스크립팅 요소 사용이 금지됩니다.

사용 예시

아래는 여러 속성을 조합하여 페이지 지시문을 작성한 실제 예시입니다.

<%@ page
    language="java"
    contentType="text/html; charset=UTF-8"
    buffer="16kb"
    autoFlush="true"
    session="true"
    errorPage="/error/error.jsp"
    import="java.util.*, java.text.SimpleDateFormat"
%>

마무리

페이지 지시문의 각 속성을 올바르게 활용하면 JSP 페이지의 성능 최적화, 오류 처리, 인코딩 문제 해결 등을 효과적으로 관리할 수 있습니다. 특히 contentType을 통한 UTF-8 인코딩 설정과 errorPage를 통한 예외 처리는 실무에서 반드시 숙지해야 할 필수 속성이므로 꼭 기억해 두시기 바랍니다.