2002년 10월 29일 화요일 [http://www.iasandcb.pe.kr/blog2/] 에서 발췌했습니다.
JSP 2.0의 page 지시자의 pageEncoding 속성에 대한 JSP 설정 방식에 대한 얼개 분석
JSP 1.2부터 page 지시자에는 pageEncoding이라는 속성이 포함되었지만, 이 속성이 contentType에서의 인코딩 설정(예: text/html;charset=euc-kr)과 개념상 유사하면서 상호 관계와 적용에 대한 정리가 되지 않았으나, JSP 2.0에서는 pageEncoding은 JSP 페이지에 대한 인코딩, contentType은 JSP 페이지가 생성하는 응답의 인코딩이라는 기본 개념아래, pageEncoding 설정이 contentType을 상회하는 얼개를 규정하였습니다.
예를 들어 <@page pageEncoding="EUC-KR">이라고 하는 경우 이 JSP 페이지는 자동적으로 응답 인코딩까지 EUC-KR이 됩니다.
특히 JSP 2.0에서 새로이 등장한 JSP 설정(배치 설명서에 JSP에 관련한 설정을 함) 기능을 통해 JSP별로 URL 대응으로 페이지 인코딩을 설정할 수 있습니다. 현재 JSP 2.0의 참조 구현체인 톰켓 5에서는 다음과 같은 web.xml을 예제로 보여주고 있습니다.
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
version="2.4"> <-- 서블릿 규격 2.4부터는 web.xml에 대해 DTD대신 스키마를 씀
...
<jsp-config> <-- JSP 설정 시작
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/debug-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/debug-taglib.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/examples-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/example-taglib.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/jsp2-example-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp2/jsp2-example-taglib.tld
</taglib-location>
</taglib> <-- 태그립 설정
<jsp-property-group>
<description>
Special property group for JSP Configuration JSP example.
</description>
<display-name>JSPConfiguration</display-name>
<url-pattern>/jsp2/misc/config.jsp</url-pattern> <-- 해당 패턴에 대해서(만)
<el-ignored>true</el-ignored>
<page-encoding>ISO-8859-1</page-encoding> <-- 페이지 인코딩 설정 가능
<scripting-invalid>true</scripting-invalid>
<include-prelude>/jsp2/misc/prelude.jspf</include-prelude>
<include-coda>/jsp2/misc/coda.jspf</include-coda>
</jsp-property-group>
</jsp-config> <-- JSP 속성 설정
이러한 원리를 도입하면, 한글 JSP 페이지를 작성할 시에 <@ page contentType... >이나 <@ page pageEncoding ..>과 같은 지시자를 매번 쓸 필요 없이 *.jsp URL 패턴에 euc-kr 페이지 인코딩을 주면 해당 컨텍스트에 속한 모든 JSP 페이지에 한글 인코딩이 적용되어 무척 쾌적한 JSP 제작을 할 수 있습니다.
J2EE 1.4의 기본 사양인 JSP 2.0의 지역화적 의의를 엿볼 수 있습니다.
'Development > Coding' 카테고리의 다른 글
Django Book (0) | 2008.09.06 |
---|---|
기다리는 JDK 6 u10 (0) | 2008.08.21 |
DOJO 툴 킷 (0) | 2008.05.23 |
JSP request.getParameter() 이슈 하나 (0) | 2008.05.20 |
JavaServer Pages, 3rd Edition (1) | 2008.04.29 |