一、上一篇使用JdbcTemplate访问数据库
用浏览器访问中文返回正常,使用jmeter却出现了乱码
请求结果如下:
1、解决方法,配置文件:application.properties新增以下配置
spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true
spring.http.encoding.enabled=true
再使用jmeter访问:返回ok
主要设置的spring.http.encoding.force=true,其他均为默认
官网文档:
https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html
2、当spring.http.encoding.enabled=false时,可以定义过滤器,设置编码类型及强制转换
//一个配置文件,相当于以前的spring配置文件
@Configuration
public class EncodingFilterConfig {
// 向容器中添加组件,将方法的返回值添加到到容器中,等于spring配置bean的id,property属性
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setForceEncoding(true);
characterEncodingFilter.setEncoding("UTF-8");
registrationBean.setFilter(characterEncodingFilter);
return registrationBean;
}
}
查了下 spring的一般配置:可以大概看看两者区别
<bean id="testBean" class="org.springframework.beans.TestBean" scope="prototype">
<property name="age" value="10"/>
<property name="spouse">
<bean class="org.springframework.beans.TestBean">
<property name="age" value="11"/>
</bean>
</property>
</bean>
jmeter测试该接口同样解决乱码问题
https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xsd-configuration.html