SpringMVC回写中文数据乱码的解决

433 阅读1分钟

1.原始方式(不推荐,用了SpringMVC就尽量使用框架的方式):

在映射方法的参数中加入HttpServletResponse类型的对象response,SpringMVC在调用这个方法时会自动注入,方法返回类型为void,通过response设置响应内容的编码,通过getWriter.println()回写数据

@RequestMapping(value = "/quick7")
//Spring MVC调用该方法时,会注入需要的参数response(Tomcat封装的)
//使用原始javaweb的方式回写数据,返回类型为void
public void hello7(HttpServletResponse response) throws Exception {
    response.setContentType("text/html;charset=utf-8");
    response.getWriter().println("你好 张三");
}

2.注解方式:

使用@ResponseBody标记该方法不进行视图跳转,而是回写数据,方法返回类型为String,在@RequstMapping注解的属性produces中设置响应数据的编码

@RequestMapping(value = "/quick8",produces = "text/html; charset=utf-8")
@ResponseBody //告诉SpringMvc框架,不进行视图跳转,只回写数据
public String hello8() {
    return "你好 李四";
}