Spring Boot에서 Character Encoding Filter를 설정하는 방법
Spring Boot 학습 중 부호화 문제가 발생했습니다.Spring 3.x와 같은 Character Encoding Filter를 다음과 같이 추가합니다.
<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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Spring Boot 1.4.2에서 Character Encoding Filter를 등록하는 것은 Spring 자체 인스턴스를 비활성화 시에만 동작합니다.spring.http.encoding.enabled=false
application.properties로 설정합니다.
단, application.properties에 다음 설정을 추가하면 필터 인스턴스화 없이 이 문제를 해결할 수 있습니다.
# Charset of HTTP requests and responses. Added to the "Content-Type" header if not set explicitly.
spring.http.encoding.charset=UTF-8
# Enable http encoding support.
spring.http.encoding.enabled=true
# Force the encoding to the configured charset on HTTP requests and responses.
spring.http.encoding.force=true
출처: 부록 A. 공통 응용 프로그램 속성
위의 코멘트에 제시된 Application.java 클래스의 코드 예:
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setForceEncoding(true);
characterEncodingFilter.setEncoding("UTF-8");
registrationBean.setFilter(characterEncodingFilter);
return registrationBean;
}
나도 더 좋아application.properties
배열.그렇지만spring.http.encoding
는 새로운 스프링 부트버전(> 2.3)에서 감산되었습니다.새로운 응용 프로그램입니다.설정은 다음과 같습니다.
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
application.properties 파일에 다음 속성을 입력할 필요가 없다고 생각합니다.
spring.carset.charset=UTF-8
spring.disc.enabled=true
spring.2011.2011.208.208.208.force=true
대신 어플리케이션에서 pom.xml에 접속하여 다음 항목이 있는 경우 봄이면 됩니다.
언급URL : https://stackoverflow.com/questions/24054648/how-to-configure-characterencodingfilter-in-springboot
'programing' 카테고리의 다른 글
Linux 서비스를 쓸 때 Exec 포맷 오류가 나타나는 이유는 무엇입니까? (0) | 2023.03.05 |
---|---|
MongoDB 데이터베이스의 모든 항목 삭제 (0) | 2023.03.05 |
TailwindCss에서 클래스 이름을 동적으로 빌드합니다. (0) | 2023.03.05 |
스프링 부트를 사용한 유닛 테스트의 보안을 무효화 (0) | 2023.03.05 |
AngularJS - UI 라우터 - 동적 뷰 구성 방법 (0) | 2023.03.05 |