@ResponseBody底层是通过response.getwriter()方法将数据写回前

@ResponseBody
@RequestMapping

(value="/queryList",method=RequestMethod.POST,produces =

"application/json; charset=utf-8")//防止乱码
public String queryList(HttpServletResponse

response)throws IOException{
response.setCharacterEncoding("utf-8");
List list = userService.queryList();
User user = (User)list.get(0);
//user.getCreateTime();
Integer userId = user.getUserId();
return "查询成功";
}

//===================================================
防止中文乱码
引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1

,具体参考

org.springframework.http.converter.StringHttpMessageConver

ter类中public static final Charset DEFAULT_CHARSET =

Charset.forName("ISO-8859-1");

解决方法:
第一种方法:
对于需要返回字符串的方法添加注解,如下:
@RequestMapping(value="/getUsers", produces =

"application/json; charset=utf-8")
public String getAllUser() throws

JsonGenerationException, JsonMappingException, IOException
{
List<User> users = userService.getAll();
ObjectMapper om = new ObjectMapper();
System.out.println(om.writeValueAsString(users));
DataGrid dg = new DataGrid();
dg.setData(users);
return om.writeValueAsString(dg);
}
此方法只针对单个调用方法起作用。
第二种方法:
在配置文件中加入
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean

class="org.springframework.http.converter.StringHttpMessag

eConverter">
<property name="supportedMediaTypes" value =

"text/plain;charset=UTF-8" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>

最新文章

  1. 大话PHP缓存头
  2. eclipse的包的加减号展开方式
  3. ASM:《X86汇编语言-从实模式到保护模式》第14章:保护模式下的特权保护和任务概述
  4. Android实现高仿QQ附近的人搜索展示
  5. 过滤DataTable中的空数据
  6. poj 1860 Currency Exchange :bellman-ford
  7. 国内外开源与 SaaS ,团队协作平台、项目管理工具整理
  8. C#中如何截取Windows消息来触发自定义事件
  9. 使用 Azure Site Recovery 灾难恢复至 Azure 的功能现已正式发布
  10. Struts2 多文件下载
  11. Android判断网络连接状态
  12. 第七十七节,CSS3前缀和rem长度单位
  13. eclipse shortcut binding
  14. StackExchange.Redis 官方文档(四) KeysScan
  15. 高级映射,查询缓存和与spring整合
  16. 201521123107 《Java程序设计》第9周学习总结
  17. Django中web开发用md5加密图片名并存储静态文件夹
  18. 排产的两种方式(前推式与后拉式)在Optaplanner上的体现
  19. HTML prefetch 预加载无效的记录
  20. linux升级openssh到7.9

热门文章

  1. Linux第五节随笔 /file / vim / suid /sgid sbit
  2. 一、JavaSE语言概述
  3. java多线程(一)-概述
  4. 自定义类型转换器Convert
  5. GIT命令一页纸
  6. 教育改革——国家认证 “网红” 编程语言 Python
  7. Git上传项目到GitHub
  8. vue2.0 关于Vue实例的生命周期
  9. 第五章:大数据 の HBase 进阶
  10. Mac安装Homebrew