JSP 페이지의 디렉티브(Directive)
- 클라이언트의 요청에 JSP 페이지가 실행될 때 필요한 정보를 JSP컨테이너에게 알리는 역할
- 단지 "이렇게 처리를 하시오"라는 지시를 내리는 것
- 태그안에서 @로 시작
- 종류 : page, include, taglib
※ page 디렉티브 : <%@page%>
- JSP 페이지에 지원되는 속성 정의
① info
· 페이지를 설명해주는 문자열(설정 하지 않더라도 페이지 처리에 아무런 영향을 주지 않음)
JSP페이지의 제목을 붙이는 것과 같은 기능을 하는 속성
· 예) <%@ page info="copyright by HJ" %>
② language
· JSP페이지의 스크립트 요소에서 사용할 언어 지정(기본값 : java)
JSP 2.0버전까지는 스크립트 언어로서 자바만을 지원
· 예) <%@ page lanugage="java" %>
③ contentType
· JSP페이지의 내용이 어떠한 형태로 출력을 할 것인지를 MIME형식으로 브라우저에 알려줌
속성값 : text/html, text/plain, text/xml 등(기본값 : text/html)
text/html은 html 문서형식으로 출력하겠다는 의미
· 예) <%@ page contentType="text/html" %>
· jsp페이지에서 사용하는 문자형식 지정에도 사용 가능
charset의 기본값은 ISO-8859-1(서유럽언어)이고 한글지정 문자형식은 euc-kr
웹브라우저에서 표시되는 한글이 깨지지 않게 하려면 반드시 "charset=euc-kr"로 설정
· 예) <%@ page contentType="text/html;charset=euc-kr" %>
④ extends
· JSP페이지가 Servlet소스로 변환되는 시점에서 자신이 상속받을 클래스를 지정할 때 사용
JSP컨테이너가 정적한 클래스를 상속시켜 변환해주므로 사용할 일은 거의 없음
· 예) <%@ page extends="com.hj.Classes"%>
⑤ import
· JSP페이지 내에서 다른 클래스를 가져와서 사용하는 경우 사용
(클래스명을 패키지명을 포함한 풀네임으로 사용하지 않기 위해)
page 디렉티브 속성 중 유일하게 중복 사용이 가능
· 예) <%@ page import="java.util.Vector" %>
<%@ page import="java.io.*" %>
⑥ session
· JSP페이지가 HttpSession을 사용할 지 여부를 지정하는 속성
true일 경우 현재페이지의 세션 유지하고 존재하지 않을 경우 새로운 세션 생성하여 연결
false일 경우 세션에 연결되지 않음(기본값은 true)
· 예) <%@ page session="false" %>
⑦ buffer
· JSP페이지의 출력크기를 KB단위로 지정하는 속성(기본값 : 8KB)
buffer값을 "none"으로 지정하면 출력버퍼를 사용하지 않고, JSP페이지의 출력내용을
즉시 브라우저로 전달
· 예) <%@ page buffer="16kb" %>
<%@ page buffer="none" %>
⑧ autoFlush
· JSP페이지의 내용들이 브라우저에 출력되기 전에 버퍼가 다 찰경우에 저장되는 내용들을
어떻게 처리할지를 결정하는 속성
"true"로 설정해 놓으면 버퍼가 다 찼을 경우 자동적으로 비워지게 되어 요청한 내용을
브라우저에 전송(기본값 : true)
buffer속성값이 "none"일 경우 autoflush속성을 "false"로 지정불가
· 예) <%@ page autoflush="false" %>
⑨ isThreadSafe
· 하나의 JSP페이지가 동시에 여러 브라우저의 요청을 처리할 수 있는지 여부 설정하는 속성
기본값은 "true"이며 "false"로 지정해 놓으면 요청을 동시에 처리하지 않고 요청한 순서
대로 처리하므로 오랜 시간이 걸림(가급적이면 사용하지 않는 것이 좋음)
· 예) <%@ page isThreadSafe="false" %>
⑩ errorPage
· 예외발생 시 자신이 예외를 처리하지 않고 다른 페이지에서 처리하도록 지정할수있는 속성
속성값으로 직접 예외를 처리할 페이지의 로컬 URL을 적어주면 됨
· 예) <%@ page errorPage="Error.jsp" %>
⑪ isErrorPage
· 현재 JSP페이지가 에러처리를 담당하는 페이지인지 아닌지의 여부를 지정할 때 사용
에러를 처리하지 않는 페이지라면 설정할 필요없음(기본값 : false)
· 예) <%@ page isErrorPage="true" %>
⑫ pageEncoding
· JSP1.2규약에 새로 추가된 속성. JSP페이지에 사용하는 문자의 인코딩 지정시 사용
(기본값 : ISO-8859-1)
· 예) <%@ page pageEncoding="euc-kr" %>
<%@ page pageEncoding="euc-kr" contentType="text/html" %>
(<%@ page contentType="text/html;charset=euc-kr" %>와 같은 효과)
⑬ isELIgnored
· JSP의 버전 및 설정에 따라 달라짐
· 예) <%@ page isELIgnored="true" %>
※ include 디렉티브 : <%@include%>
- JSP페이지에서 공통적으로 포함되는 내용이 있을 때 매번 입력하지 않고 별도의 파일로
저장해두었다가 JSP페이지 내에 삽입하도록 하는 것
- 예) <%@ include file="top.jsp" %>
- 처리과정은 정적(include되는 파일의 결과가 포함되는 것이 아니라 단순히 파일의 내용이
텍스트로 include 디렉티브가 위치한 자리에 그대로 복사되는 것)
- 주로 조각코드를 삽입할때 사용하며 확장자는 jsp보다는 jspf를 사용하는 것이 좋음
※ taglib 디렉티브 : <%@taglib%>
- 표현언어, JSTL,커스텀태그를 JSP페이지내에 사용할때 사용
- 예) <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
출처 - http://blog.naver.com/bleu_ciel?Redirect=Log&logNo=140036043093
'프로그래밍 > JAVA' 카테고리의 다른 글
| JSTL <c:forEach> 사용법 (0) | 2016.03.04 |
|---|---|
| 오라클 클라이언트 설치 윈도우 7 (0) | 2013.01.15 |
| @RequestMapping annotation (0) | 2012.11.08 |