2009. 3. 19. 15:29

JBoss 한글 처리(다국어 포함) - Encoding Filter




JBoss를 사용하다 한글 처리에 대한 질문을 많이 받고 있습니다. 다국어 지원까지 포함해야 하는 경우도 종종 있습니다.

JBoss에서 한글 처리를 하기 위해서는 2가지의 작업이 필요합니다.

1. Web Application에 filter를 등록하기

첨부하는 파일을 이용하여 web.xml에 Encoding Filter를 등록하도록 합니다.
다음의 내용을 web.xml에 추가합니다.

<filter>
   <filter-name>Set Character Encoding</filter-name>
   <filter-class>filters.SetCharacterEncodingFilter</filter-class>
   <init-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
   </init-param>
</filter>

<filter-mapping>
   <filter-name>Set Character Encoding</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

JBoss level에서 엄격하게 스펙을 적용하는 통에.. 위의 url-pattern은 * 이 아니고 /* 이어야 합니다.

 
2. JBoss의 $SERVER_HOME/deploy/jboss-web.deployer/server.xml 파일을 열어 필요한 Connector 부분에 다음의 attribute를 추가합니다. JBoss의 default encoding은 ISO-8859-1입니다.
<Connector ... URIEncoding="UTF-8"/>

위와 같이 설정하면 다국어 지원까지 가능한 애플리케이션을 만들 수 있습니다.