springmvc中的字符编码问题

 

@Controller
public class Hello {
//这里的返回值是void
//返回值可以不是String, 即不响应视图名称, 但是要直接给个响应,最原始的写法,直接输出响应体,直接响应response.getWriter().write(“hhhhaaaa”); 这时候没有消息转换器的作用了,所以需要自己处理中文乱码问题
  
//字符编码处理,跟之前servlet一样,这里是响应字符的处理, 
@RequestMapping("one") 
public void hello(HttpServletResponse response) throws IOException { 
response.setContentType("text/html;charset=utf-8");  
response.getWriter().write("hello你好");  } }

不是void,有返回值的情况,需要返回数据,不能直接response流数据

不使用@ResponseBody,即使用视图解析器,返回的是视图,那就必须返回String,返回的视图名称;

使用@ResponseBody,就是返回Json对象,返回String也不表示视图名称,而是数据内容,字符串本身(没有编码问题,jackson消息转换器帮忙进行处理)

 

posted @ 2021-04-01 14:56  加瓦加瓦  阅读(97)  评论(0编辑  收藏  举报