spring入门(七)【springMVC返回json串】
现在多数的应用为了提高交互性多使用异步刷新,即在不刷新整个页面的情况下,只刷新局部,局部刷新用得最多就是ajax,ajax和后台进行交互的数据格式使用的最多的是JSON,这里简单描述,在springmvc的开发架构下如何返回JSON串。这里使用两种方式进行配置,一:fastjson;二、jackson
一、fastjson
fastson是阿里巴巴开源的一个json转化jar包,在springmvc的架构下药使用这种方式,需引入其jar包:fastjson-1.1.34.jar,这里使用的是1.1.34的版本,这里的环境是已经搭建好springmvc的开发环境,下面是在springmvc的配置文件中配置fastjson的配置文件,
<!--使用fastjson的方式--> <bean id="fastjson" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
配置了一个bean,指定了其class的属性,且配置了属性;我们要向前台返回json,需要使用springmvc的注解@ResponseBody,所以在配置文件中需要开启mvc的注解驱动,
<!--开启mvc的注解驱动 ,可以使用@RequestParam、@ResponseBody等注解-->
<mvc:annotation-driven/>
然后我们看Controller是如何写的
@RequestMapping("my2/{courseId}/{name}")
@ResponseBody
public Map<String,String> method2(@PathVariable("courseId") String courseId,@PathVariable("name") String name){
HashMap<String,String> map=new HashMap<String,String>();
map.put("name", "刘晓燕");
map.put("sex", "女");
map.put("age", "23")
return map;
}
此方法在Controller中,在方法上添加了@ResponseBody注解,方法的返回值是一个Map,通过这种方式就你可以向前端返回JSON对象,为什么我们返回的一个Map对象到了前台就是JSON对象了,因为我们在配置文件中配置了基于fastjson的bean(bean的id为fastjson),fastjson就可以为自动把map对象转化为json对象返回到前台。
前台的ajax请求这里不再给出,和一般的ajax是一样的,在回调函数中直接使用json对象即可。
二、jackson
jackson是另外一种把java对象转化为json对象的jar包,要使用此种方式需要引入以下三个jar包:jackson-annotations-2.6.0-rc4.jar、jackson-core-2.6.0-rc4.jar、jackson-databind-2.6.0-rc4.jar,这里使用的最新的jackson的jar包,下面是在配置文件中的配置,
<!--spring4中返回json串的配置方式-->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonHttpMessageConverter" />
</list>
</property>
</bean>
<!--配置jackson的bean,这里使用的spring4中的配置-->
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
配置了jackson的bean,这里的环境是spring4的环境,所以这里需要配置的class为,
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
如果是spring3的话,那么应该使用下面的class配置,
org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
其他的都和spring4的环境保持不变,controller的代码都保持不变。
以上是在srpingmvc环境下两种jar包返回json对象的配置方式,其关键在于配置文件中的配置。
有不正之处欢迎指出!谢谢!
spring入门(七)【springMVC返回json串】的更多相关文章
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- springmvc 1.接受日期类型的参数 2.后台返回json串的格式处理(返回json串null值处理为"")
springmvc中的配置: <bean id="dateConvert" class="com.iomp.util.DateConvert"/> ...
- SpringMVC返回JSON数据时日期格式化问题
https://dannywei.iteye.com/blog/2022929 SpringMVC返回JSON数据时日期格式化问题 博客分类: Spring 在运用SpringMVC框架开发时,可 ...
- Spring MVC 3.0 返回JSON数据的方法
Spring MVC 3.0 返回JSON数据的方法1. 直接 PrintWriter 输出2. 使用 JSP 视图3. 使用Spring内置的支持// Spring MVC 配置<bean c ...
- Python3.x:访问带参数链接并且获取返回json串
Python3.x:访问带参数链接并且获取返回json串 示例一: import json import xml.dom.minidom from urllib import request, par ...
- SpringMVC返回Json,自定义Json中Date类型格式
http://www.cnblogs.com/jsczljh/p/3654636.html —————————————————————————————————————————————————————— ...
- spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500:no convertter for return value of type
问题描述 spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json ...
随机推荐
- How to use the function of assembly.
Here are some simple conceptions that I summarized: 1, %rsp ----- top of the stack 2, %rbp -- ...
- Hibernate框架搭建实例
一,Hibernate是一个持久层,是一个专门负责管理数据库连接的框架: 二,Hibernate的搭建实例: 1.在Hibernate的官方网站(http://www.hibernate.org)可以 ...
- Android开发学习之路-SnackBar使用心得
SnackBar是DesignSupportLibrary中的一个重要的控件,用于在界面下面提示一些关键信息,跟Toast不同的地方是SnackBar允许用户向右滑动消除它,同时,也允许在SnackB ...
- rem与px的转换
rem与px的转换 引用自http://caibaojian.com/rem-and-px.html A-A+ 前端博客•前端开发教程•rem•3702View0 rem是相对于根元素<html ...
- c#设计模式-适配器模式
一. 适配器(Adapter)模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作. 名称由来 这很像变压器(Adapter),变压 ...
- 浅谈linux 下,利用Nginx服务器代理实现ajax跨域请求。
ajax跨域请求对于前端开发者几乎在任何一个项目中都会用到,众所周知,跨域请求有三种方式: jsonp; XHR2 代理: jsonp: 这种应该是开发中是使用的最多的,最常见的跨域请求方法,其实aj ...
- dd
1.属性 关键:get,set public class Account { private string id; private decimal money; public string Id { ...
- 【hadoop摸索系列】记录使用libhdfs访问hdfs的关键问题
hadoop官方的二进制发布版本一直是32位平台编译的,对于java来说跨平台不影响使用,但是为了在c/c++程序中操作hdfs就做不到了,因为libhdfs.so是二进制不兼容的. 我使用的是sta ...
- LINQ系列:LINQ to SQL Where条件
1. 单一条件查询 var expr = context.Products .Where(p => p.ProductName == "LINQ to SQL"); SELE ...
- MVC实用架构设计(三)——EF-Code First(5):二级缓存
前言 今天我们来谈谈EF的缓存问题. 缓存对于一个系统来说至关重要,但是是EF到版本6了仍然没有见到有支持查询结果缓存机制的迹象.EF4开始会把查询语句编译成存储过程缓存在Sql Server中,据说 ...