springboot响应信息编码配置

本文介绍了Spring Boot与Spring MVC的默认编码差异,Spring Boot默认为UTF-8,而Spring MVC为iso-8859-1。在Spring Boot中,尽管通常无需修改编码设置,但若需强制其他编码,提供了3种配置方式:1. 通过`application.properties`,2. 自定义StringHttpMessageConverter的Bean,3. 实现WebMvcConfigurer接口并重写相关方法。需要注意,Spring 5.0及以后不再推荐继承WebMvcConfigurerAdapter。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring boot 与spring mvc不同,在web应用中,默认的编码格式为UTF-8,而spring mvc的默认编码格式为iso-8859-1,在spring mvc中,如果设置编码格式需要在spring配置文件中加入:

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
              <constructor-arg value="UTF-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

但是在springboot中默认是utf-8,如果没有特殊需求,该编码不需要修改。如果要强制其他编码格式,spring boot提供三种设置方式
1. 通过在application.properties中设置

spring.http.encoding.charset=iso-8859-1
  1. 自定义StringHttpMessageConverter的Bean
@Bean 
public StringHttpMessgeConverter stringHttpMessgeConverter(){
    return new StringHttpMessgeConverter(Charset.forName("Utf-8");
}
  1. 实现WebMvcConfigurer,并重写addInterceptors
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
}

有些文档可能推荐继承WebMvcConfigurerAdapter,然后复写其中方法即可,但是从spring5.0开始,包括spring boot 2.0不在建议继承WebMvcConfigurerAdapter,而是直接实现WebMvcConfigurer,该接口中方法使用了java8中方法默认实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值