디렉티브 태그란?
  - JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그
- 서블릿 프로그램에서 서블릿 클래스로 변환 시 디렉티브 태그 문법을 검사함
- JSP와 관련한 정보를 JSP 컨테이너에 지시하는 메세지
page 디렉티브 태그
<%@page ...%> 
가장 많이 사용하며 현재 JSP 페이지에 대한 정보를 설정 
어디서든 선언할 수 있지만 일반적으로 JSP 페이지의 최상단에 선언한다.
  - language 속성
    
      - 기본값은 java로 되어 있으며 다른 언어 또한 가능하다.
- <%@ language="java" %>
 
- contentType 속성
    
      - JSP 페이지의 콘텐츠 유형을 설정하는데 사용한다.
- application/msword로 지정해 줄 경우에는 워드 파일로 저장할 수 있다.
- <%@ page contentType="text/html; charset=EUC-KR" %>
- <%@ page contentType="application/msword" %>
 
- pageEncoding 속성
    
      - contentType의 character set과 일맥상통하며 기본 값은 ISO-8859-1이다.
          <%page language="java" contentType="text/html; charset="EUC-KR" pageEncoding="ECU-KR" %> 혹은 
  meta 태그에 <%@ page charset="EUC-KR"%> 를 써준다.
 
 
- import 속성
    
      - 현재 jsp 페이지에서 사용할 자바 클래스를 설정하는데 사용한다.
- 둘 이상의 자바 클래스를 사용하는 경우 쉼표로 구분하여 연속해서 사용한다.
- <%@ page import = "java.io.*, java.lang.*" %>
 
- session 속성
    
      - jsp 페이지의 http 세션 사용 여부를 설정하는데 사용한다.
- 기본 값은 세션을 자동으로 사용하는 true이며 세션을 사용하지 않으려면 false로 설정
- <%@ page session="true' %>
 
- buffer 속성
    
      - 버퍼 크기의 기본 값은 8KB이다.
- 속성 값을 none로 설정하면 출력 버퍼를 채우지 않고 웹 브라우저로 직접 보내게 된다.
- 16KB 혹은 32KB로 변환하면 해당되는 크기에 출력버퍼가 차기 전까지는 출력하지 않는다.
 
출력 버퍼란?
  - 클라이언트에게 웹 페이지를 응답할 때 출력 버퍼에 채워서 이를 한꺼번에 전송하는 것을 의미한다.
- 기본적으로 8KB일 때 성능이 가장 좋다고 이야기 되고 있다.
- 만약 버퍼를 사용하지 않아 none으로 설정시에는 출력한 내용을 취소할 수 없으며 <jsp:forward>기능을 사용할 수 없다.
  - autoFlash 속성
    
      - 자동으로 출력버퍼를 비우는 것을 제어한다.
- 기본 값은 true이며 출력버퍼가 채워질 때마다 자동으로 웹페이지에 보내지고 비운다.
 
- isThreadSafe 속성
    
      - 멀티 프로세스가 가능하도록 하며 true가 기본값으로 jsp 페이지에 대해 멀티스레드가 가능하다.
- false로 설정하면 jsp페이지에 대한 요청을 순차로 처리한다.
 
- info 속성
    
      - 주석문과 같은 기능이므로 jsp 컨테이너는 info 속성을 무시한다.
 
- errorPage 속성
    
      - error 발생 시에는 설정된 에러 페이지로 이동한다.
- 리다이렉트와 같은 기능이지만 tomcat 5.5.9 이상의 버전에서는 인식하지 못하는 속성이다.
- jsp 2.0 버전에서 예외처리는 web.xml파일에서<error-page>태그를 사용하여 처리한다.
- <%@ page errorPage="error_page.jsp" %>
 
- isErrorPage 속성
    
      - 오류 발생 시에 jsp페이지가 오류 페이지로 출력할 것인지를 설정한다.
- 기본 값은 false이며 예외 처리를 위한 내장 객체인 exception 변수를 사용할 수 없다.
 
- isELIgnored 속성
    
      - 표현언어를 사용한다.
          <% request.setAttribute("RequestAttribute", "request 내장객체"); %>
 ${requestScope.RequestAttribute}
   // true일 경우, request 내장객체 출력
   // false일 경우, ${requestScope.RequestAttribute}
 
 
include 디렉티브 태그
<%@include ...%>
  - 현재 jsp 페이지 특정 영역에 외부 파일의 내용을 포함하는 태그
- 주로 웹페이지의 footer 혹은 header를 include 디렉티브 태그를 사용하여 모듈로 만든다.
- 모듈화를 통해 중복된 코드나 공통된 코드를 모듈화 할 수 있다.
taglib 디렉티브 태그
<%@taglib%>
  - 현재 jsp 페이지에 표현 언어 JSTL, 사용자 정의 태그 등 태그 라이브러리를 설정하는 태그
JSTL 태그 라이브러리
  - 자주 사용되는 반복문 조건문과 같은 논리적 구조 작업
- xml 문서 조작, 국제화 태그 조작, SQL 조작 수행을 위한 태그를 지원한다.
<%@ taglib = uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>	//c는 prefix는 대신한다는 의미
<html>
<body>
	<c: out value="JSTL Croe 태그 라이브러리" />
</body>
</html>