IT 프로그래밍/JSP2014. 2. 1. 16:35

page 디렉티브의 contentType 속성은 JSP 페이지가 생성할 문서의 타입을 지정합니다. contentType 속성의 값은 다음과 같이 구성됩니다.



TYPE


또는


TYPE; charset=캐릭터 셋 


TYPE은 생성할 응답 문서의 MIME 타입을 입력합니다. JSP에서 주로 사용되는 MIME 타입으로는 "text/html", "text/xml", "text/plain"이 있습니다. 아래는 HTML 문서를 생성하는 경우 contentType 속성의 설정 예 입니다.



<%@ page contentType="text/html" %> 


contentType 속성을 설정하지 않을 경우 기본값은 "text/html" 입니다. 그리고 '; charset=캐릭터 셋' 부분은 생략이 가능합니다. 캐릭터 셋 부분을 생략할 경우 기본 캐릭터 셋인 ISO-8859-1을 사용하게 됩니다. 국내에서는 주로 한글로 구성된 HTML 문서를 생성하는 JSP 페이지를 작성하게 되는데, 한글로 구성된 HTML 문서를 생성할 때에는 다음과 같이 euc-kr 캐릭터 셋을 사용하게 됩니다. 참고로 캐릭터 셋을 입력할 때에는 대소문자를 구분하지 않습니다.



<%@ page contentType="text/html; charset=euc-kr" %>


또는


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


UTF-8 캐릭터 셋을 이용하는 XML 문서를 생성하고 싶은 경우에는 다음과 같이 contentType 속성에서 "text/xml" MIME 타입을 사용하고 charset의 값으로 UTF-8 을 지정하면 됩니다.



<%@ page contentType="text/xml; charset=utf-8" %> 


캐릭터 셋을 올바르게 입력하지 않으면 응답 결과에서 글자가 올바르게 출력되지 않게됩니다. 예를 보도록 하겠습니다.



<%@ page contentType="text/html; charset=iso-8859-1" %>

<%@ page import="java.util.Date" %>

<%

    Date now = new Date();

%>

<html>

<head><title>현재 시간</title></head>

<body>

현재 시각:

<%= now %>

</body>

</html> 


실행을 해보시면 위 예제에서 '현재 시각' 이라는 부분이 글자가 제대로 표현이 안되는것을 확인 할 수 있습니다.


그리고 마우스 오른쪽 버튼을 클릭하시면 [인코딩] 이 보이는데 인코딩 들어가시면 서유럽어(ISO) 가 선택되어 있는것을 볼 수 있습니다. 그래서 '현재 시각' 이라는 한글이 제대로 표현이 안되는것 입니다.


한글로 제대로 표현을 할려면 위 예제에서 charset=iso-8859-1 을 charset=euc-kr로 변경해주시면 한글이 올바르게 나오는것을 확인할 수 있습니다.


다음 포스팅은 import에 대해서 알아보도록 하겠습니다.


Posted by 정윤문경아빠