Spring MVC 인코딩 문제

기본

1. web.xml에 인코딩 필터를 등록합니다. (이건 GET방식으로 들어오는 데이터는 커버하지 못하고 POST는 처리할 수 있습니다.)

<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>

 

2. server.xml (workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf )

GET으로 들어오는 데이터의 인코딩은 여기서 처리할 수 있습니다. (Tomcat 7 기준으로 userBodyEncoding=”true”는 먹히지 않더라구요.)

<Server …>

<Service …>

<Connector … URIEncoding=”UTF-8″/>

</Connector>

</Service>

</Server>

 

3. 그리고 jsp, html 파일에서 인코딩을 지정합니다.

<?xml version=”1.0″ encoding=”UTF-8″ ?>

<%@ page language=”java” contentType=”text/html; charset=UTF-8″    pageEncoding=”UTF-8″%>

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

 

이렇게 지정 하니까 GET, POST로 왔다갔다 하는 데이터는 인코딩 문제가 없었습니다 🙂