WebLogic을 Tomcat으로 바꾸는 경우가 있다. 이 때 고려해야 할 몇가지 포인트가 있는데 인코딩 처리도 그 중 하나이다. 이미 넷상에 인코딩에 대한 많은 가이드들이 있어 중복되는 내용은 제외하고 두가지 정도 추기로 기술한다.

 

1. web.xml

구형 WebLogic에서는 아래와 같은 dtd를 선언하여 사용했을 것이다. 

<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

그러나 비교적 최신의 Tomcat이라면 더 이상 dtd를 사용하지 않는다.  Servlet Spec 2.4 이상부터 namespace 방식을 사용하기 때문이다.

<?xml version="1.0" encoding="EUC-KR"?>
<web-app
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 

반드시 확인할 부분이다.

 

2. jsp-config

WebLogic에서는 weblogic.xml 파일 안의 <jsp-property>에 인코딩 설정을 했을 가능성이 있다. 그렇다면 Tomcat에서는 다음과 같이 대응한다.

<jsp-config>
                <jsp-property-group>
                        <url-pattern>*.jsp</url-pattern>
                        <page-encoding>EUC-KR</page-encoding>
                </jsp-property-group>
</jsp-config>                

이상.