파라미터의 한글처리를 위해 request.setCharacterEncoding 을 사용하거나 Characterset Encoding Filter를 사용할텐데요..
Servlet 2.3 스펙에 의하면 이것이 Request Body 에만 적용이 됩니다.
톰캣 4.1.29 및 5.0.x 버전에서는 이를 적용하여 request.setCharacterEncoding에 의해 설정된 인코딩이 POST방식의 파라미터에만 적용됩니다.
GET방식의 파라미터에는 적용이 되지 않네요.
GET방식의 파라미터가 들어있는 QueryString은 URIEncoding 에 설정된 캐릭터셋을 이용하여 처리합니다. 따라서, 한글이 깨지지 않게 하기 위해서는 URIEncoding 을 별도로 설정해 주어야합니다. 이는 %CATALINA_HOME%/conf/server.xml 내에 있는 HTTP 호출을 처리하는 Connector 에서 설정할 수 있습니다. 톰캣의 기본 HTTP Connector를 예로 들면 다음과 같이됩니다.
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="KSC5601"/>
or (Tomcat 6.0)
<Connector port="8070" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="euc-kr" />
마지막 속성인 URIEncoding="KSC5601" 이 URIEncoding의 캐릭터셋을 명시적으로 지정하는 속성이 되겠습니다.
'프로그래밍 > JSP' 카테고리의 다른 글
톰캣 설치 - 웹 컨테이너 apache-tomcat-6.0.18 (0) | 2012.01.02 |
---|---|
이클립스 + 톰캣6.0 & 5.5에서 오라클 JNDI Connection Pool 사용설정 (servlet 서블릿 설정) (0) | 2012.01.02 |
JSP Thumbnail 썸네일 소스 (0) | 2012.01.02 |
단일 파일 업로드 소스 (0) | 2012.01.02 |
다중 파일 업로드 소스 (0) | 2012.01.02 |