方法1
public void saveTempKind(HttpServletRequest req, HttpServletResponse resp) throws Exception {
resp.setContentType("text/text;charset=UTF-8");
PrintWriter pw = resp.getWriter();
try {
pw.write("成功");
}catch(Exception e){
pw.write("失败");
}
}
一定要保证resp.setContentType(“text/text;charset=UTF-8”); 在
PrintWriter pw = resp.getWriter();
之前,而不是之后。如果象上例这样,无论你怎么设置response的编码,前端乱码的问题都依然如故。 可能的原因是pw在获得PriintWriter 之前,编码就已经确定了。所以编码的声明应该在获取PrintWriter对象之前。
方法2
在标签@RequestMapping(value = “/getxxx”, method = RequestMethod.POST)中添加一个属性 produces,就是变成
@RequestMapping(value = "/getxxx", method = RequestMethod.GET,produces=“text/html;charset=utf-8”)
public void saveTempKind(HttpServletRequest req, HttpServletResponse resp) throws Exception {
PrintWriter pw = resp.getWriter();
try {
pw.write("成功");
}catch(Exception e){
pw.write("失败");
}
}
这2中方法都是可行的,但是method只测试了get,post是否可行没有测试,有兴趣的可以自己测试一下,GG。