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. 关于SQL Server 无法生成 FRunCM 线程(不完全)

    在五一的前一天,准备启动数据库完成我剩下的项目代码时,数据库配置管理器出现了一个让人蛋疼的问题sqlserv配置管理器出现请求失败或服务器未及时响应关于这个问题的处理方法,经过我两个小时的百度,网上对 ...

  2. 【巷子】---react-redux---【react】

    一.Redux与组件 react-redux是一个第三方插件使我们在react上更方便的来使用redux这个数据架构 React-Redux提供connect方法,用于从UI组件生成容器组件,conn ...

  3. 数据仓库专题(5)-如何构建主题域模型原则之站在巨人的肩上(二)NCR FS-LDM主题域模型划分

    一.前言 分布式数据仓库模型的架构设计,受分布式技术的影响,很多有自己特色的地方,但是在概念模型和逻辑模型设计方面,还是有很多可以从传统数据仓库模型进行借鉴的地方.NCR FS-LDM数据模型是金融行 ...

  4. SpringBoot使用redis缓存List

    一.概述 最近在做性能优化,之前有一个业务是这样实现的: 1.温度报警后第三方通讯管理机直接把报警信息保存到数据库: 2.我们在数据库中添加触发器,(BEFORE INSERT)根据这条报警信息处理业 ...

  5. DB2 Rename SQL0108N错误

    今天DB2 Rename的时候遇到了“SQL0108N ‘表名’名称的限定符数是错误的. 语句如下: db2 rename tableA to tableB 异常: SQL0108N The name ...

  6. Aysnc的异步执行的线程池

    ProxyAsyncConfiguration.java源码: @Configuration @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public clas ...

  7. P1096(简单dp)

    题目描述 在N个数中找出其和为M的若干个数.先读入正整数N(1< N< 100)和M(1< M< 10000),  再读入N个正数(可以有相同的数字,每个数字均在1000以内) ...

  8. Java-Runoob-高级教程-实例-时间处理:03. Java 实例 - 获取年份、月份等

    ylbtech-Java-Runoob-高级教程-实例-时间处理:03. Java 实例 - 获取年份.月份等 1.返回顶部 1. Java 实例 - 获取年份.月份等  Java 实例 以下实例演示 ...

  9. 廖雪峰Java2面向对象编程-4抽象类和接口-2接口

    1.接口的定义 抽象方法本质上是定义接口规范. 在抽象类中定义了一个抽象方法,子类中必须实现这个抽象方法. public abstract class Person{ public abstract ...

  10. (转)C# WebApi 接口参数不再困惑:传参详解

    原文地址:https://www.cnblogs.com/landeanfen/p/5337072.html 本篇打算通过get.post.put.delete四种请求方式分别谈谈基础类型(包括int ...