Spring Framework에서 파라미터로 한글 값을 보내서 화면에서 출력하고 싶을때, 한글깨짐 현상을 방지하기위해
1. Server에서 server.xml 파일에서 Connector에 URIEncoding="utf-8" 추가
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
2. 출력해줄 jsp 파일에서 utf-8 설정
3. 작업중인 Spring 프로젝트의 web.xml에서 아래와 같은 코드 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 |
<!-- 한글 처리 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> |
cs |
< 출력 결과 >
이렇게 직접 값을 입력해서 넘겨주면
안깨지고 잘 넘어왔다.
나는 페이지에서 입력받아서 넘기는게 아니라 주소창에 한글을 직접 입력해서 값을 전송하는 방식으로 테스트했다. 이와 같은 방식은 Internet Explorer 높은버전에서는 파라미터로 넘기는 값이 EUC-kr로 인식?되기 때문에 위와같이 설정해줘도 한글깨짐 현상이 여전히 발생한다.
-> 크롬에서 돌리면 한글깨짐현상 안생김
-> IE에서 하려면 페이지에서 값을 utf-8로 인코딩해서 join.jsp페이지로 넘겨주면 될것같다.
'Web > Spring' 카테고리의 다른 글
Spring MVC(2) (0) | 2016.05.16 |
---|---|
Spring MVC(1) (0) | 2016.05.16 |
Spring(4)_Environment,Properties (0) | 2016.05.13 |
Spring(3) (1) | 2016.05.12 |
Spring(2) (0) | 2016.05.11 |