JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환할 때 JSP 페이지와 관련된 정보를 JSP 컨테이너에 지시하는 메시지
디렉티브 태그는 JSP 페이지를 수정하여 다시 컴파일하는 경우에만 역할을 수행하기 때문에 개별 HTML 응답에 특별한 영향을 미치지 않음
디렉티브 태그의 종류
- page : JSP 페이지에 대한 정보를 설정함. <%@ page...%>
- include : JSP 페이지의 특정 영역에 다른 문서를 포함함. <%@ include...%>
- taglib : JSP 페이지에서 사용할 태그 라이브러리를 설정함. <%@ taglib...%>
3-2 page 디렉티브 태그의 기능과 사용법
현재 JSP 페이지에 대한 정보를 설정하는 태그임.
형식 : <%@ page 속성1 = "값1" [속성2 = "값2"]%>
- %와 @ 사이에 공백이 없어야 함
JSP 페이지가 생성할 콘텐츠 유형의 문서, 사용할 자바 클래스, 오류 페이지 설정, 세션 사용 여부, 출력 버퍼의 존재 유무 등과 같이 JSP 컨테이너가 JSP 페이지를 싱행하는데 필요한 정보를 설정할 수 있음
JSP 페이지의 어디에서든 선언할 수 있지만 일반적으로 JSP 페이지의 최상단에 선언하는 것을 권장함
3-2는 아직은 간단히 보고 넘어가도 되는 내용. 추후에 제대로 공부필요!
2.1 language 속성
현재 JSP 페이지에서 사용할 프로그래밍 언어를 설정하는데 사용
기본 값은 java이지만 향후 JSP 컨테이너가 자바 이외의 언어를 지원할 수 있도록 하기 위한 속성
language 속성 사용 Ex
- <%@ page language = "java" %>
2.2 contentType 속성
현재 JSP 페이지의 콘텐츠 유형(MIME-type)을 설정하는데 사용
콘텐츠 유형은 주로 text/html, text/xml, text/plain 등이며 기본 값은 text/html임
contentType 속성 사용 Ex
- <%@ page contentType = "text/html" %>
2.3 pageEncoding 속성
현재 JSP 페이지의 문자 인코딩 유형을 설정하는데 사용
- <%@ page pageEncoding ="문자 인코딩 유형" %>
2.4 import 속성
현재 JSP 페이지에서 사용할 자바클래스를 설정하는데 사용
- <%@ page import ="자바 패키지 이름" %>
2.5 sesstion 속성
현재 JSP 페이지의 HTTP 세션 사용 여부를 결정하는데 사용
- <%@ page sesstion ="true or false" %>
2.6 buffer 속성
현재 JSP 페이지의 출력 버퍼 크기를 설정하는데 사용
- <%@ page buffer ="버퍼 크기 or none" %>
2.7 autoFlush 속성
자동으로 출력 버퍼를 비우는 것을 제어하는데 사용
- <%@ page autoFlush ="true or false" %>
2.8 isThreadSafe 속성
현재 JSP 페이지에서 멀티스레드의 동작을 제어하는데 사용
- <%@ page isThreadSafe ="true or false" %>
2.9 info 속성
현재 JSP 페이지에 대한 설명을 설정하는데 사용
JSP 페이지의 설명 부분으로서 주석문의 기능과 같기 때문에 JSP 컨테이너는 info 속성을 무시함
- <%@ page info ="주석문의 기능과 같음" %>
2.10 errorPage 속성
현재 JSP 페이지가 실행되는 동안 오류가 발생하면 특정 오류 페이지로 이동하는데 사용
- <%@ page errorPage ="이동할 오류 페이지" %>
2.11 isErrorPage 속성
현재 JSP 페이지가 오류 페이지인지 여부를 설정하는데 사용
- <%@ page isErrorPage ="true" %>
2.12 isELIgored 속성
현재 JSP 페이지의 표현 언어(expression language) 사용 여부를 설정하는데 사용
- <%@ page isELIgored ="true" %>
2.13 isScriptingEnabled 속성
스크립트 태그(선언문, 스크립틀릿, 표현문) 사용 여부를 설정하는데 사용
- <%@ page isScriptingEnabled ="true or false" %>
3-3 include 디렉티브 태그의 기능과 사용법
이름에서 알 수 있듯이 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그
형식
- <%@ include file ="파일명" %>
- file 속성 값은 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명임
- 이때 외부 파일이 현재 JSP 페이지와 같은 디렉터리에 있으면 파일명만 설정하고, 아니라면 전체 URL을 설정해야 함
현재 JSP 페이지에 포함할 수 있는 외부 파일은 HTML, JSP, 텍스트 파일 등
include 디렉티브 태그는 JSP 페이지 어디에서든 선언할 수 있음
include 디렉티브 태그는 서블릿 프로그램으로 번역될 때 현재 JSP 페이지와 설정된 다른 외부 파일의 내용이 병합되어 번역됨
현재 JSP 페이지에서 include 디렉티브 태그가 사용된 위치에 설정된 파일의 원본 내용을 '있는 그대로' 붙여넣은 다음 전체 페이지를 자바 코드(서블릿)로 변환함
include 디렉티브 태그는 머리글과 바닥글 같은 공통된 부분을 별도의 JSP 파일로 만들어 웹 페이지를 모듈화할 수 있음
- 코드를 재사용하고 중복된 코드를 줄임으로써 유지 보수 측면에서 매우 유용함
- 공통된 부분을 외부 파일로 만들면 머리글이나 바닥글의 내용으 변경해야 할 때 마다 한 곳에서 할 수 있음
디렉티브 태그 사용 예
예제 3-1 include 디렉티브 태그로 외부 파일의 내용 포함하기
예제 3-2 include 디렉티브 태그로 머리글과 바닥글에 외부 파일 내용 포함하기
3-4 taglib 디렉티브 태그의 기능과 사용법
현재 JSP 에피지에 표현 언어, JSTL, 사용자 정의 태그(custom tag) 등 태그 라이브러리를 설정하는 태그
형식
- <%@ taglib uri="경로" prefix="태그 식별자" %>
- uri 속성은 사용자가 정의한 태그의 설정 정보를 가진 경로 주소
prefix 속성은 uri에 설정한, 사용자가 정의한 태그를 식별하기 위한 고유 이름
해당 JSP 페이지 내에서 uri 속성 값을 그대로 사용하면 복잡하므로 prefix 속성 값이 대신 식별할 수 있게 해주는 것
taglib 디렉티브 태그가 서블릿 프로그램으로 번역될 때 uri 속성 값은 JSP 컨테이너에 사용자가 정의한 태그 라이브러리의 위치를 알려줌
prifix 속성 값은 사용자가 정의한 태그 라이브러리의 접두어 태그가 무엇인지 JSP 컨테이너에 알려주는 열할을 함