Purple Bobblehead Bunny

Backend/SPRING

[Spring] GET POST 한글처리

준영어린이 2023. 1. 31. 18:11

 

🚀 스프링은 한글 뿐만 아니라 UTF-8에서 지원하는 모든 국제어 사용이 자유롭고 POST/GET방식 모두 처리가  가능하다.

 

우선 이클립스에서 모든 문서가 UTF-8로 생성이 될 수 있도록 설정을 바꾼다.

 

 

 

이 설정을 하게 되면 이제 모든 문서가 UTF-로 작성이 된다.

 

이제 첫번째로 POST방식의 한글 처리한다 . GET에 비해 POST 방식은 ContentType만 설정해도 간단히 인코딩할 수 있다.

 

🚀  POST

POST 전송 방식에서 인코딩은 web.xml에 스프링이 제공하는 CharacterEncodingFilter를 사용한다.

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

 

앞으로 헤더값으로 주고받는 데이터들에 대해서는 한글의 사용을 보장받을 수 있게 된다.

 

 

GET에서 한글 처리는 POST와는 조금 다르다. GET은 URL에 직접 데이터를 추가하여 전송하는 방식이다.

GET을 통해 한글을 데이터를 받고자 할 때는 서버에서 직접 URL을 UTF-8로 인코딩할 수 있게 설정을 한다.

 

톰캣을 가동시키고 있다면 위 사진처럼 server.xml이 보인다.

 

server.xml에서

 

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>

 

끝에 있는 URIEncoding 을 추가하면 된다.
서블릿에서 HttpServletRequest와 HttpServletResponse에 일일이 인코딩 설정을 해줄 수고가 덜어졌다.

 

'Backend > SPRING' 카테고리의 다른 글

[Spring] DAO, Mapper  (0) 2023.02.03
[Spring] Spring Security  (0) 2023.02.01
[Spring] Model  (0) 2023.01.17
[Spring]MyBatis  (0) 2022.08.01
[Spring] Connection Pool  (0) 2022.08.01