#### JSP 페이지 읽어 올때 웹컨터이너가 사용할 캐릭터 셋을 결정짓는 기본과정 ####
※ BOM : Byte Order Mark 의 약자.
- UTF-16 이나 UTF-32 와 같은 유니코드에서 바이트의 순서가 '리틀엔디언' 인지 '빅 엔디언' 인지의 여부를 알려주는 값.
1. 파일이 BOM 으로 시작하지 않을 경우
- 기본 이코딩을 이용해서 파일을 처음부터 읽고,
JSP 페이지 내의 Page 디렉티브의 pageEncoding 속성을 검색한다.
(단, pageEncoding 속성을 찾기 이전에 ASCII 문자 이외의 글자가 포함되어 있지 않아야 함.)
- pageEncoding 속성이 값을 갖고 있다면, 속성의 값을 파일을 읽어올때 사용할 캐릭터 셋으로 사용
- pageEncoding 속성이 없으면, contentType 속성을 검색.
contentType 속성이 존재학 charset을 이용해서 캐릭터 셋을 지정했다면, 파일을 읽어 올때 사용할 캐릭터 셋으로
charset에 지정한 값을 사용한다.(단, 위와같이 contentType 속성을 찾기전에 ASCII 문자 이외의 글자가 포함되어 있으면 안됨)
- 위의 모든 경우에 해당되지 않을 경우 ISO-8859-I 을 캐릭터 셋으로 사용한다.
2. 파일이 BOM으로 시작할 경우
- BOM 을 이용ㅎ서 결정된 인코딩을 이용하여 파일을 읽고, page 디렉티브의 pageEncoding 속성을 검색.
- 만약 pageEncoding 속성의 값과 BOM 을 이용해서 결정된 인코딩이 다르면 에러를 발생 시킨다.
- 위의 두 과정을 통해 설정된 캐릭터 셋을 이용하여 파일을 읽어온다.
'공부 > JSP' 카테고리의 다른 글
JSP_[웹 어플리케이션의 초기화 파라미터 값 설정] (0) | 2012.09.19 |
---|---|
JSP_[JSP 페이지의 초기화 파라미터] (0) | 2012.09.18 |
JSP_[JDBC 예제] (0) | 2012.07.24 |
JSP_[Request_기본객체] (0) | 2012.06.21 |
JSP_[페이지의 구성요소] (0) | 2012.06.21 |