SpringMVC学习--json

  • 简介

  json数据格式在接口调用中、html页面中较常用,json格式比较简单,解析还比较方便。比如:webservice接口,传输json数据。

  • springmvc与json交互

  • @RequestBody和@ResponseBody

     @RequestBody

  作用:

  @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并绑定到controller方法的参数上。

  @ResponseBody

  作用:

  该注解用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端。

  • 请求json,响应json实现

  1、环境准备

  Springmvc默认用MappingJacksonHttpMessageConverter对json数据进行转换,需要加入jackson的包,如下:

  2、配置json转换器

  在注解适配器中加入messageConverters

1 <!--注解适配器 -->
2     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
3         <property name="messageConverters">
4         <list>
5         <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
6         </list>
7         </property>
8     </bean>

  注意:如果使用<mvc:annotation-driven /> 则不用定义上边的内容。

  3、controller编写

1 // 商品修改提交json信息,响应json信息
2     @RequestMapping("/editItemSubmit_RequestJson")
3     public @ResponseBody Items editItemSubmit_RequestJson(@RequestBody Items items) throws Exception {
4         System.out.println(items);
5         //itemService.saveItem(items);
6         return items;
7
8     }

  4、页面js的编写

 1 function request_json(){
 2         $.ajax({
 3             type:"post",
 4             url:"${pageContext.request.contextPath }/item/editItemSubmit_RequestJson.action",
 5             contentType:"application/json;charset=utf-8",
 6             data:‘{"name":"测试商品","price":99.9}‘,
 7             success:function(data){
 8                 alert(data);
 9             }
10         });
11     }

  5、请key/value,响应json实现

  表单默认请求application/x-www-form-urlencoded格式的数据即key/value,通常有post和get两种方法,响应json数据是为了方便客户端处理,实现如下:

  controller编写:

1 // 商品修改提交,提交普通form表单数据,响应json
2     @RequestMapping("/editItemSubmit_ResponseJson")
3     public @ResponseBody Items editItemSubmit_ResponseJson(Items items) throws Exception {
4
5         System.out.println(items);
6
7 //        itemService.saveItem(items);
8         return items;
9     }

  页面js方法编写

 1 function formsubmit(){
 2     var user = " name=测试商品&price=99.9";
 3     alert(user);
 4       $.ajax(
 5         {
 6             type:‘post‘,//这里改为get也可以正常执行
 7             url:‘${pageContext.request.contextPath}/item/ editItemSubmit_RequestJson.action‘,
 8 //ContentType没指定将默认为:application/x-www-form-urlencoded
 9             data:user,
10             success:function(data){
11                 alert(data.name);
12             }
13
14         }
15     )
16 }
  • 小结

  实际开发中常用第二种方法,请求key/value数据,响应json结果,方便客户端对结果进行解析。另外,也可以和一些前段框架(如:ExtJS)结合使用,因为前端框架就是键值对的解析。

时间: 2024-10-02 14:51:16

SpringMVC学习--json的相关文章

springmvc学习笔记(18)-json数据交互

springmvc学习笔记(18)-json数据交互 springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 添加json转换的依赖 配置json转换器 json交互测试 输入json串输出是json串 输入keyvalue输出是json串 本文主要介绍如何在springmvc中进行json数据的交互,先是环境准备和配置,然后分别展示了"输入json串,输出是json串"和"输入key/value,输出是json串"两种情况下

【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www.cnblogs.com/ssslinppp/p/4528892.html [Spring学习笔记-MVC-4]返回Json数据-方式2:http://www.cnblogs.com/ssslinppp/p/4530002.html [Spring学习笔记-MVC-3.1]SpringMVC返回Json数据-

springMVC学习(11)-json数据交互和RESTful支持

一.json数据交互: json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. springMVC进行json交互 1)环境准备: 加载json转换的jar包: springmvc中使用jackson的包进行json转换(@requestBody和@responseBody使用下边的包进行json转) jackson-core-asl-1.9.11.jar jackson-mapper-asl-1.9.11.

SpringMVC学习笔记(二): 日常使用功能

前提: 1.web.xml 和spring-mvc核心配置如:SpringMVC学习笔记(一): 基础知识中注解实现. 2.类的@RequestMapping(value="/annotationController") 3.spring-mvc 推荐使用注解实现. 一.数据的接收 (一)URL参数数据的接收 1.使用 HttpServletRequest 获取参数 <span style="font-size:18px;"><span style

史上最全的SpringMVC学习笔记

SpringMVC学习笔记---- 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> <servlet> <servlet-name>springmvc</servlet

springMVC学习笔记--知识点总结1

以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- 配置渲染器 --> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property

springmvc学习笔记--REST API的异常处理

前言: 最近使用springmvc写了不少rest api, 觉得真是一个好框架. 之前描述的几篇关于rest api的文章, 其实还是不够完善. 比如当遇到参数缺失, 类型不匹配的情况时, 直接抛出异常, 返回的内容是500+的错误页面, 而不是json内容, 这让移动端的调用方很难处理. 本文主要讲述对于rest api, springmvc对异常的解决处理方案. 系列整理: springmvc学习笔记系列的文章目录: • idea创建springmvc项目 • 面向移动端的REST API

springmvc学习笔记(19)-RESTful支持

springmvc学习笔记(19)-RESTful支持 springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控制器配置 对静态资源的解析 本文介绍RESTful的概念,并通过一个小样例展示怎样编写RESTful风格的controller和配置前端控制器,最后展示静态资源的解析 概念 首先附上两篇博客链接 理解RESTful架构 - 阮一峰的网络日志 RESTful API 设计指南- 阮一峰的网络日志 RESTful架构.就是眼下最流

(转)SpringMVC学习总结

Marvel_Will 博客园 首页 新随笔 联系 订阅 管理 SpringMVC学习总结1 转自:http://www.cnblogs.com/sunniest/p/4555801.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the setting of springmvcDispatcherServlet and conf