中文显示方式也是两种,一种是properties文件,一种是创建一个configuration类来设置utf-8

第一种,新建一个项目,添加web支持,然后新建一个MyServlet文件用来显示中文。

package com.example.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(urlPatterns = "/hehe")
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;character=utf-8");
        resp.getWriter().println("/hehe,中文");
        resp.getWriter().flush();
        resp.getWriter().close();
    }

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

在没有其它设置的情况下,显示的是乱码,只有在properties文件里添加支持,才能显示中文。

server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.servlet.encoding.charset=UTF-8

第二种和第一种基本一样,也是创建一个MyServlet文件,然后,再创建一个Configuration类。 

package com.example.config;

import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.CharacterEncodingFilter;

@Configuration//这个声明表示此类是springboot容器管理配置类
public class MyConfig {
//    用一个@Bean来调用一个文件过滤器。
    @Bean
    public FilterRegistrationBean encodingservletRegistrationBean(){
//        新建一个字符过滤器对象
        CharacterEncodingFilter characterEncodingFilter=new CharacterEncodingFilter();
        characterEncodingFilter.setForceEncoding(true);
        characterEncodingFilter.setEncoding("utf-8");
//        新建一个过滤器对象
        FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
//        将字符过滤器对象添加到过滤器里去
        filterRegistrationBean.setFilter(characterEncodingFilter);
//        需要过滤的网络地址样式
        filterRegistrationBean.addUrlPatterns("/*");
        return filterRegistrationBean;
    }
}

这种方式需要在application.properties中加入

server.servlet.encoding.enabled=true,从而禁用springboot的编码方式!