springboot18-设置字符编码

1、编写servlet

@WebServlet(urlPatterns = "/myencoding")
public class MySerlvet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().print("你好世界");
        resp.getWriter().flush();
        resp.getWriter().close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

2、启动类添加注解,启动启动类

@SpringBootApplication
@ServletComponentScan(basePackages = "com.study.springboot.servlet")
public class Springboot15Character1Application {

    public static void main(String[] args) {
        SpringApplication.run(Springboot15Character1Application.class, args);
    }

}

3、页面出现乱码

4、编写字符过滤类

@Configuration //将此类定义为配置文件
public class CharacterEncoding {

    @Bean
    public FilterRegistrationBean characterEncodingFilter(){

        //创建字符编码过滤器
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        //设置强制使用指定字符编码
        characterEncodingFilter.setForceEncoding(true);
        //设置指定字符编码
        characterEncodingFilter.setEncoding("utf-8");


        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        //设置字符编码过滤器
        filterRegistrationBean.setFilter(characterEncodingFilter);
        //设置字符编码过滤器路径
        filterRegistrationBean.addUrlPatterns("/*");

        return filterRegistrationBean;
    }

}

5、编写配置文件,关闭springboot对http字符编码的支持

#关闭springboot的http字符编码支持
#只有关闭该选项后spring字符编码过滤器才生效
server.servlet.encoding.enabled=false

6、再MyServlet中统一浏览器的编码格式

posted @ 2021-09-15 15:41  不是孩子了  阅读(153)  评论(0)    收藏  举报