Spring MVC 学习笔记11 —— 后端返回json格式数据

我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点:

1. JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法.

   2. 它是一种基于文本,独立于语言的轻量级数据交换格式.

   3. json的两种结构:对象{key:value,key:value,...}  和  数组 [value, value2, ... ]

   4. json字符串:普通字符串、json字符串、json对象的区别

   5. 不同编程工具使用json的方法

参考:http://www.cnblogs.com/mcgrady/archive/2013/06/08/3127781.html

Spring MVC 返回json数据,用show来实现:

UserController.java:

保持两套请求,一套是传统的请求返回数据;一套是请求json格式返回数据。

	//6. 查一个用户 show.jsp
@RequestMapping(value="/{username}", method=RequestMethod.GET)
public String show(@PathVariable String username, Model model){
model.addAttribute("user1",users.get(username)); //user1参数属性名,到了视图,就是user1
return "user/show";
} //6. 查一个用户 show.jsp
@RequestMapping(value="/{username}", method=RequestMethod.GET, params="jsoon")
@ResponseBody //这里要加一行
public User show(@PathVariable String username){ //声明中没有了Model
//model.addAttribute("user1",users.get(username));
return users.get(username); //不返回String了,返回user对象
}

说明,以上代码中:

1. 增加@ResponseBody, 

  2. no return String, but User Object

  3. no Model

  4. directly return users.get(username)//注意返回的是一个User对象

  5. 可以在RequestMapping行增加一个请求值:Params="jsoon"//这是规定如要进这个方法返回json,需要带个参数jsoon

此时可测试,返回406错误如图:(通过url加入?jsoon访问了,但没有头文件为它进行解释)

所以我们需要加入一个jar包:jackson-all-1.x.x.jar

从这个网址可以下载到:http://jarfiles.pandaidea.com/jackson.all.html

把jar包复制到项目文件夹/lib文件夹下,重新debug,链接进入:http://localhost:8080/myhello/user/sdy?jsoon

此时,有的浏览器Chrome,firefox等能显示如下,其他浏览器如360等,会提示下载sdy.json文件,notepad++打开以后也是如下内容。

Enjoy ;)

Spring MVC 学习笔记11 —— 后端返回json格式数据的更多相关文章

  1. JS学习笔记(3)--json格式数据的添加,删除及排序方法

    这篇文章主要介绍了json格式数据的添加,删除及排序方法,结合实例形式分析了针对一维数组与二维数组的json格式数据进行增加.删除与排序的实现技巧,需要的朋友可以参考下   本文实例讲述了json格式 ...

  2. Spring MVC 学习笔记一 HelloWorld

    Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...

  3. Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...

  4. Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息

    Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...

  5. Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录

    Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...

  6. Spring MVC 学习笔记1 - First Helloworld by Eclipse【& - java web 开发Tips集锦】

    Spring MVC 学习笔记1 - First Helloworld by Eclipse reference:http://www.gontu.org 1. 下载 Spring freamwork ...

  7. Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息

    </pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...

  8. Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目

    Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. ...

  9. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

随机推荐

  1. Delphi 与 C/C++ 数据类型对照表

    Delphi 数据类型 C/C++ ShorInt 8位有符号整数 char Byte 8位无符号整数 BYTE,unsigned short SmallInt 16位有符号整数 short Word ...

  2. oracle中delete、truncate、drop的区别

    oracle中delete.truncate.drop的区别 标签: deleteoracletable存储 2012-05-23 15:12 7674人阅读 评论(0) 收藏 举报  分类: ora ...

  3. c++中计算程序执行时间

    #include<iostream> #include<time.h> using namespace std; int main() { clock_t t1 = clock ...

  4. debian的python蓝牙库

    sudo apt--dev pip install bluepy

  5. 研究js特效巩固JavaScript知识

    400多个JavaScript特效大全,包含全部源代码和详细代码说明,不可多得 JavaScript实现可以完全自由拖拽的效果,带三个范例    http://www.sharejs.com/show ...

  6. adb调试android设备 说的比较清楚的一篇文章

    ADB支持两种连接Android系统的方式,USB方式及网络方式.一般手机及平板默认会设置为USB方式.android系统底层运行着一个服务(adbd),用于相应和管理大家在电脑端的adb命令连接,这 ...

  7. url参数的转码和解码

    encodeURI(str) //转码 decodeURI(str)//解码

  8. leedcode_贪心算法系列

    861. 翻转矩阵后的得分 思路: 行首的权值最大,故首先将其置1; 每列由于权值相同,故只需要将0多于1的情况反转即可 763. 划分字母区间 思路: 1.计算每个字母的最右边界下标,并记录到新数组 ...

  9. zTree分批异步加载方式下实现节点搜索功能(转载)

    原文地址:https://segmentfault.com/a/1190000004657854 最近公司做一个项目用到zTree,zTree功能强大就不用多说了,相信用过的人都知道.       公 ...

  10. Java学习——多线程例子:银行

    package cys; public class Example9_3 { public static void main(String[] args) { // TODO Auto-generat ...