티스토리 뷰
GET 방식으로 전달되는 파라미터 값에 대한 표준 인코딩 규칙이 정해져 있지 않다.
그래서 WAS마다 GET 방식의 파라미터 값을 읽어올 때 사용하는 기본 charSet도 다르다. 일례로, 톰캣 8은 GET방식으로 전달되는 파라미터 값을 읽어올 때 별다른 설정이 없으면 UTF-8을 사용하지만, 톰캣 7의 경우는 ISO-8859-1을 사용한다. 만약 웹 브라우저가 EUC-KR을 이용해서 GET방식의 파라미터를 인코딩 했다면, 톰캣 8과 톰캣 7은 모두 올바른 파라미터 값을 읽어오지 못한다.
위에 언급한것과 같이 톰캣 8 버전에서 GET방식으로 전달된 파라미터 값을 읽어올 때 사용하는 charSet의 기본값이 UTF-8이다. 따라서 GET 방식으로 전송한 파리미터를 UTF-8로만 디코딩한다면, 톰캣 8에 별도 설정을 하지 않아도 된다.
하지만, UTF-8이 아닌 다른 charSet을 이용해서 GET 방식의 파라미터를 전송하는 경우가 있다면, 아래와 같은 설정을 추가해주면 된다.
● server.xml 파일에서 <Connector>의 useBodyEncodingForURI 속성의 값을 true로 지정하면 된다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
위와 같은 server.xml의 default 값에 아래와 같이 속성을 추가하고 값을 설정해준다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true" />
useBodyEncodingForURI 속성값을 true로 지정하면 GET 방식으로 전달된 파라미터 값을 읽어올 때 request.setCharacterEncoding() 메서드로 지정한 charSet을 사용한다.
참고: https://tomcat.apache.org/tomcat-8.0-doc/config/http.html
'Programming > servlet & jsp' 카테고리의 다른 글
scope에 관해 (1) | 2017.09.28 |
---|---|
에러페이지 지정 형태에 고려해야 할 사항 (0) | 2017.09.26 |
http 프로토콜 주요 응답 상태 코드 (0) | 2017.09.26 |
JSP 기본 객체의 속성(Attribute) 사용하기 (0) | 2017.09.26 |
JSP가 제공하는 기본 객체 (0) | 2017.09.26 |
- Total
- Today
- Yesterday
- 어플리에키션 컨텍스트
- 쓰레드
- apllication context
- IoC컨테이너
- map iterator
- tomcat8.5
- 프로세스의 문제점
- 쓰레드의 이용
- 쓰레드 사용 이유
- application
- map loop
- java map loop
- BEAN
- 빈
- tomcat8.x
- map foreach
- 스프링
- 빈팩토리
- 연동
- parretn
- map for문
- 설정정보
- 프로세스
- 패턴
- apache tomcat 연동
- 디자인패턴
- 메소드
- apache2.x
- 프로세스의 특징
- Page
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |