1.servlet乱码问题
第一种方式:直接在配置文件中设置浏览器的解析编码的格式
#设置字符编码
#开启springboot的http字符编码的支持
spring.http.encoding.enabled=true
#强制使用指定字符编码
spring.http.encoding.force=true
#指定使用的字符编码
spring.http.encoding.charset=UTF-8
第二种方式
1.创建配置类,配置编码格式
@Configuration
public class SystemConfig {
@Bean
public FilterRegistrationBean characterFilterRegistration() {
//字符编码过滤器
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
//强制使用指定字符编码
characterEncodingFilter.setForceEncoding(true);
//设置指定字符编码
characterEncodingFilter.setEncoding("UTF-8");
//创建过滤器注册bean对象
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
//设置字符过滤器
filterRegistrationBean.setFilter(characterEncodingFilter);
//设置字符过滤器路径
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
}
2)更改原配置文件,使我们的配置类起作用_
#关闭springboot工程对http字符编码的支持
#只有关闭该选项之后 ,spring字符编码过滤器才可生效
#注意在这里spirngboot的版本只能是2.2.6,不能是2.3.0要不然会失效
spring.http.encoding.enabled=false
注意:这两种添加对应的都是SpringBoot集成Servlet,但如果集成SpringMVC框架的话,我们什么都不用添加,因为SpringBoot已经给我们添加号的SpringMVC框架的编码过滤器了