get 방식 지원하게 하기
conf/server.xml 에
<Connector
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
추가하기
post 방식 지원하게 하기
ROOT/WEB-INF/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>EUC_KR</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
추가하고
jsp-examples 에 있는 filters 폴더를 복사해서
ROOT/WEB-INF/classes/ 에 복사한다.
단 utf-8로 바꿧을 경우 get방식으로 보냈을 시에 java에서 한글을 ??? 로 만 받게 되는데 이를 해결하기 위해서는 javascript에서
encodeURIComponent("한글")
를 실행하여 인코딩 후에 보내야 한다.
이렇게 보내면 java에서 잘 읽는다. 너무 잘 읽어요 ㅠ
저렇게 get방식의 인코딩을 바꾸지 않았을 때에는
try{ new_xml = new String(result.getBytes("8859_1"), "euc-kr"); }catch( UnsupportedEncodingException ex){}
이런식으로 ISO8859_1 로 인코딩 되서 오는 톰캣 녀석을 인코딩 해주어야 한다.
귀찮음!