<%@ page language="java" contentType="text/html; charset=EUC-KR" 
    pageEncoding="EUC-KR" %> 

 - contentType  속성 : JSP파일 출력시 문자코드 및 Content-Type 헤더에 

                                출력할 문자코드명을 지정 


  - pageEncoding 속성 : JSP파일 작성시의 문자코드를 지정 

자바가상머신(JVM)의 내부에서는 모든 문자열이 Unicode로 표현된다. 
그러므로 서블릿 콘테너는 JSP파일을 JVM에 읽어들일 때 JSP파일의 
문자코드(예를들어 EUC-KR)에서 Unicode로 변환한다. 
그리고 웹브라우저에 HTML문서를 출력할 때는 Unicode로부터 출력파일의 
문자코드로 변환한다. 

  

■ contentType 속성의 역할 


contentType 속성은 "JSP파일 출력시의 문자코드", "Content-Type 헤더에 
지정할 문자코드"의 양쪽을 지정하는 기능을 갖는다. 
상기 코드와 같이 기술하면 서블릿 콘테너는 콘텐츠를 EUC-KR로 
Encode하여 출력한다. 
또한 동시에 Content-Type 헤더를 통하여 문자코드 종류를 웹브라우저에 
전달한다. 

  

■ pageEncoding 속성의 역할 


pageEncoding 속성은 "JSP파일 작성시의 문자코드"를 지정하기 위한 
속성으로서 JSP 1.2사양(Tomcat 4.0) 이후부터 지원된다. 
예를들어, 윈도우즈에서 작성한 JSP파일이면 EUC-KR를 지정하면 된다. 
UNIX의 일본어 에디터로 작성한 것이라면 EUC-JP를 지정하면 바르게 처리될 
것이다. 

pageEncoding 속성을 생략한 경우, JSP 1.2 사양에서는 
"contentType 속성에서 지정된 문자코드로 JSP파일을 읽어들임" 
이라고 규정되어 있다. 
그러므로 보통은 생략해도 문자깨짐이 발생할 염려는 없다. 
그렇지만 EUC-KR -> Unicode -> EUC-KR 의 문자코드 변환은 
기억해 둬야 한다. 
또한 include 된 JSP파일에서는 contentType 속성을 기술할 수 없으므로 
pageEncoding 속성을 이용할 필요가 있다. 
이 문제에 대해서는 다음회에 설명할 예정이다. 
덧붙여, contentType 속성과 pageEncoding 속성에는 각기 다른 문자코드를 
지정할 수도 있다. 
예를들어 ShiftJIS로 작성한 JSP파일을 EUC-JP,UTF-8등으로 출력하는 것도 
가능하다.

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

jsp - *.jsp를 WEB-INF 아래에 숨겨라  (0) 2012.03.23
request.setCharacterEncoding  (0) 2012.03.23
JSP  (0) 2012.02.05
서블릿 Invoker  (0) 2011.12.29
JSP와 HTTP 주석  (0) 2010.12.12
Posted by linuxism
,