一、通过配置文件组件
1.创建servlet
@WebServlet(urlPatterns = "/MyServlet")
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().println("汉字检测,english test");
//统一浏览器编码格式,不同浏览器因为初始编码格式不通用,所以用户使用时统一编码格式
resp.setContentType("text/html;character = utf-8");
resp.getWriter().flush();
resp.getWriter().close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
2.创建配置类文件systemconfig
@Configuration
public class SystemConfig {
@Bean
public FilterRegistrationBean characterEncodingFilterRegistrationBean(){
//创建字符编码过滤器
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
//强制使用指定的字符编码
characterEncodingFilter.setForceEncoding(true);
//设置字符编码
characterEncodingFilter.setEncoding("utf-8");
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
//设置字符编码过滤器
filterRegistrationBean.setFilter(characterEncodingFilter);
//设置字符编码过滤器路径
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
}
3.添加核心配置类内容
#关闭springboot的http字符编码设置支持,自己定义的编码规则才能生效
server.servlet.encoding.enabled=false
二、springboot自带字符编码配置设置
仅需要添加核心配置文件内容
#设置请求响应字符编码
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.servlet.encoding.charset=utf-8
1、是否启用spring boot字符编码配置
2、是否强制更改字符编码配置
3、要更改的字符编码配置规则