热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringMVC(四)SpringMVC的JSON数据交互和RESTful支持

1.JSON数据转换JSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式.它是基于JavaScript的一个子集,采用文本格式来存

1.JSON数据转换

JSON(JavascriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式.它是基于Javascript的一个子集,采用文本格式来存储和表示数据.

JSON有如下两种数据结构:


  • 对象结构

对象结构以"{}"标记,中间部分由","隔开,存储形式如图所示:

 语法格式如下:

{key1:value1,key2:value2,...
}

其中关键字(key)必须为String类型,值(value)可以是String,Number,Object,Array等数据类型,例如

{"city":"BeiJing","street":"xierqi","postcode":"100000"}

 


  • 数组结构

数组结构以"[]"标记,由","隔开,如图所示:

语法如下:

[value1,value2,...
]

demo:一个数组包含了String,Number,Boolean,null类型数据,使用JSON的表示形式如下:

["abc",12345,false,null]

 

对象,数组结构也可以分别组合构成复杂的数据结构,例如一个person对象包含name,hobby和address对象,其代码形式如下:

{"name":"zhangsan""hobby":["篮球","羽毛球","游泳"]"address":{"city":"Beijing""street":"xierqi""postcode":"100000"}
}

注意:如果使用JSON存储单个数据如("abc"),一定要使用数组的形式,不要使用Object形式,因为Object形式必须是key:value


JSON数据转换注解
注解说明

@RequestBody

用于将json数据转为Java对象

@ResponseBody

用于将 controller 方法返回对象转换为 json 响应给客户端


 

 

 

 

demo:如何进行json数据的交互

(1)创建项目,导入相关jar包

(2)在web.xml中,对SpringMVC的前端控制器等信息进行配置

chapter14
index.jsp

springmvcorg.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:springmvc-config.xml
1

springmvc/

(3)springmvc-config.xml






标签属性及说明
属性说明
location用于定位需要访问的本地静态资源文件路径,具体到某个文件夹
mapping匹配静态资源全路径,其中"/**"表示文件夹及其子文件夹下的某个具体文件

 

 

 

 

 

(4)User.java

(5)index.jsp用来测试JSON数据交互



用户名:
密    码:



 


 


 

 

 


 

(6)UserController

@Controller
public class UserController{/*
接收页面请求的JSON数据,并返回JSON格式结果
*/
@RequestMapping("/testJson")
@ResponseBody
public User testJaon(@RequestBody User user){//打印接收的JSON格式数据
System.out.println(user);
//返回JSON格式的响应
return user;}
}

 


2.使用标签方式的JSON转换器配置






 

 


3.配置静态资源的访问方式

除了使用实现对静态资源的访问外,还有另外两种方式


  • 使用标签

 


  • 激活Tomcat默认的Servlet来处理静态文件访问


default*.js

default*.css
...

 

 


3.RESTful

RESTful风格就是把请求参数变成请求路径的一种风格,例如传统URL请求格式为:

http://.../queryItems?id=1

采用RESTful风格之后:

http://.../items/1

4.demo:用户信息查询

(1)UserController中,编写用户查询方法selectUser()

/*
接收Restful风格的请求,接收方式为Get
*/
@RequestMapping(value="/user/{id},method=RequestMethod.GET")
@ResponseBody
public User selectUser(@pathVariable("id")String id){
//查看数据接收
System.out.println("id="+id);
User user =new User();
//模拟根据id查询出到用户对象数据
if(id.equals("1234")){user.setUsername("tom");
}
//返回JSON格式的数据
return user;
}

(2)restful.jsp





编号:



 

 

 

 


推荐阅读
  • Bootstrap datetimepicker控件 日期时间选择器 简单使用
    bootstrap-datetimepicker日期控件简单使用应用场景:表单日期 ... [详细]
  • Eclipse中SpringBoot响应jsp的简单demo
    首先在Eclipse里新建一个maven工程,这里的打包类型和父包如果后续再去pom中添加也可以此时的工程路径是这样的接下来去到pom中添加相关的依赖,如果有报错mavenupda ... [详细]
  • idea启动springmvc项目时报找不到类的解决方法
    这篇文章主要介绍了idea启动springmvc项目时报找不到类的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值, ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • springboot 事务 抛出异常_Spring Boot(四) 异常处理
    一、参数校验错误1.注解校验注解校验的常见形式是,在JavaBean类中添加javax.validation校验注解,在控制器方法参数前添加Valida ... [详细]
  • 摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者正在工作的 ... [详细]
  • 《ASP.NET MVC 4 实战》 1.3  ASP.NET MVC 3/4的新特性
    本节书摘来自异步社区《ASP.NETMVC4实战》一书中的第1章,第1.3节,作者:【美】JeffreyPalermo,【美】JimmyB ... [详细]
  • linux js文件怎么打开文件夹路径,js 获取文件本地路径
    1.代码获取文件本地路径选择导入数据源:functionbrowseFolder(){try{varMessage“\u8bf7\u9009\u62e9\u6587\u4ef6\u ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • Spring Boot基础教程 ( 五 ) :构建 RESTful API 与单元测试
    首先,回顾并详细说明一下在下面我们尝试使用SpringMVC来实现一组对User对象操作的RESTf ... [详细]
  • 业务:Payments&Risk大数据/AI/数据可视化时间要求:至少实习6个月,每周5天,入职时间4-5月 ... [详细]
author-avatar
半暖半夏半流年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有