JSP

request 기본 객체 05_톰캣에서 GET 방식 인코딩 처리

yayeun 2016. 5. 31. 15:55

톰캣에서 GET 방식 파라미터를 위한 인코딩 처리

톰캣의 7 버전의 기본 캐릭터 셋 : ISO-8859-1


▣ 2가지 방법을 통해 GET 형식으로 전달된 파라미터를 사용할 캐릿터 셋 지정

방법 1 : server.xml 파일에서 <Connector> 의 useBodyEncodingForURI 속성의 값을 ture 로 지정하는 방법

- [톰캣설치디렉토리]/conf/server.xml 파일에서 <Connector> 태그의 useBodyEncodingForURI 속성의 값을 ture 로 지정

1
    <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
cs

- 이 방식으로 하게되면 GET방식으로 전달된 파라미터 값을 읽어 올때 request.setCharacterEncoding() 메서드로 지정한 캐릭터 셋이 적용된다.


방법 2 : server.xml 파일에서 <Connector> 의 URIEncoding 속성의 값으로 원하는 캐릿터 셋을 지정하는 방법

1
    <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>

cs

- 이 방식으로 하게 되면 GET 방식으로 전달된 파라미터를 읽어 올때 URIEncoding 속성에서 지정해준 캐릭터 셋을 적용한다.

- 이 경우 request.setCharacterEncoding() 메서드로 지정한 캐릭터 셋은 적용되지 않는다.


▣ server.xml 에서 URIEncoding 속성과 useBodyEncodingForURI 속성을 함께 사용할 수 있다.

1
    <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true" useBodyEncodingForURI="true"/>
cs

- 이경우 request.setCharacterEncoding() 메서드를 사용해 알맞은 캐릭터 셋을 지정해주어야 GET 방식으로 전달된 파라미터를 읽어 올 수 있다.