WEB/JSP Servlet

Page 디렉티브 : contentType, import, trimDirectiveWhitespace, pageEncoding

노랑파랑 2016. 10. 26. 12:43
반응형




page 디렉티브

* 페이지에 대한 정보를 입력하기 위해 사용.

* 생성하는 문서, 사용하는 자바 클래스, 출력 버퍼의 존재확인 등 JSP 실행에 필요한 정보를 입력할 수 있다.




page 디렉티브 주요 속성



1. contentType 

* 생성할 문서의 MIME 타입을 입력한다. (text/html , text/xml, application/json 등)

    1. MIME
      • Multipurpose Internet Mail Extensions
      • 인터넷 메일 교환을 위한 멀티미디어 문서 타입
      • 서버가 MIME 헤더를 삽입하고 클라이언트들은 파일형식으로 메일에 추가 후 헤더가 나타내는 Data 형식에 따라 적절한 응용프로그램으로 실행한다.


* 기본값 : text/html

* 속성 값

TYPE

 또는

TYPE; charset=캐릭터 셋

* 캐릭터 셋 생략 시 기본 값 : ISO-8859-1

* 한국어 포함 캐릭터 셋 : UTF-8, EUC-KR



2. import 

* JSP 코드에서 클래스의 단순 이름을 사용할 수 있다.

* 콤마로 구분하여 여러 패키지를 import 할 수 있다. 예 ) <%@ page import =" java.util.Calendar , java.util.Date " %>

* 패키지 이름 뒤에 별표( * ) 사용 시 해당 패키지의 모든 타입의 단순이름을 사용할 수 있다. 



3. trimDirectiveWhitespace

* 페이지 소스 보기를 할 때 page 디렉티브가 있던 위치에 공백이 생긴다.

* 딝티브나 스크립트로 인한 불필요하게 생성되는 줄바꿈 공백을 제거하는 기능을 제공한다.



4. 페이지 인코딩과 pageEncoding

* 컨테이너(톰캣)은 JSP 코드를 분석하는 중에 어떤 인코딩을 사용해 코드를 작성했는지 검사하고, 그 결과로 선택한 캐릭터 셋을 이용해 페이지의 문자를 읽어고게 된다.

* 캐릭터 셋 결정 과정

    1. 파일이 BOM으로 시작
      1. BOM을 이용해 결정된 인코딩을 이용하여 파일을 읽고, PageEncoding 속성을 검색한다.
      2. pageEncoding 속성 값과 BOM을 이용해 결정된 갑시 다르면 에러를 발생시킨다.
    2. 파일이 BOM으로 시작하지 않음.
      1. 기본 인코딩을 사용해 파일을 읽고, pageEncoding 속성을 검색한다. ( !! pageEncoding 속성을 착지 전 ASCII 문자 이외의 글자가 포함되어 있지 않은 경우에만 )
      2. pageEncoding 속성 값을 갖고 있다면, 파일을 읽어올 때 속성값을 캐릭터 셋으로 사용한다.
      3. pageEncoding 속성이 없다면, contentType 속성을 검색하고 이 속성이 존재하고 charset으로 캐릭터 셋을 지정했다면, 파일을 읽어올 때 사용할 캐릭터 셋으로 charset으로 지정한 값을 사용한다. ( !! pageEncoding 속성을 착지 전 ASCII 문자 이외의 글자가 포함되어 있지 않은 경우에만 )
      4. 모두 해당하지 않을 경우 ISO-8859-1을 캐릭터 셋으로 지정한다.
    1. 1, 2 과정을 통해 설정된 캐릭터 셋을 이용해 JSP 코드를 읽는다.

* BOM (Byte Order Mark) 유니코드 인코딩에서 바이트 순서가 리틀엔디언인지 빅엔디언지를 알려주는 16비트 값.



반응형

'WEB > JSP Servlet' 카테고리의 다른 글

기본 객체 : response  (0) 2016.10.26
기본 객체 : request  (0) 2016.10.26
스크립트 요소  (0) 2016.10.26
JSP 기본 요소  (0) 2016.10.25
jsp 첫 시작  (0) 2016.10.25