SpringMVC返回json数据的三种方式


Posted in Javascript onDecember 10, 2015

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。

1、第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew。

如:<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>

或者<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>

同样要用jackson的jar包。

2、第二种使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。

利用HttpServletResponse,然后获取response.getOutputStream()或response.getWriter()

直接输出。

示例:

public class JsonUtil 
{ 
  private static Gson gson=new Gson(); 
 
  /** 
   * @MethodName : toJson 
   * @Description : 将对象转为JSON串,此方法能够满足大部分需求 
   * @param src 
   *      :将要被转化的对象 
   * @return :转化后的JSON串 
   */ 
  public static String toJson(Object src) { 
    if (src == null) { 
      return gson.toJson(JsonNull.INSTANCE); 
    } 
    return gson.toJson(src); 
  } 
}

3、第三种利用spring mvc3的注解@ResponseBody

例如:

@ResponseBody 
 @RequestMapping("/list") 
 public List<String> list(ModelMap modelMap) { 
  String hql = "select c from Clothing c "; 
  Page<Clothing> page = new Page<Clothing>(); 
  page.setPageSize(6); 
  page = clothingServiceImpl.queryForPageByHql(page, hql); 
   
  return page.getResult(); 
 }

然后使用spring mvc的默认配置就可以返回json了,不过需要jackson的jar包哦。

注意:当springMVC-servlet.xml中使用<mvc:annotation-driven />时,如果是3.1之前已经默认注入AnnotationMethodHandlerAdapter,3.1之后默认注入RequestMappingHandlerAdapter只需加上上面提及的jar包即可!

如果是手动注入RequestMappingHandlerAdapter 可以这样设置

配置如下:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" 
    p:ignoreDefaultModelOnRedirect="true" > 
      <property name="messageConverters"> 
        <list> 
          <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/> 
        </list> 
      </property> 
    </bean>

添加包

jackson-mapper-asl-*.jar
jackson-core-asl-*.jar

可以看出,使用方式越来越简单,程序员越来越傻,不知道是好事,还是坏事……

以上内容是小编给大家分享的SpringMVC返回json数据的三种方式,希望大家喜欢。

Javascript 相关文章推荐
让Firefox支持event对象实现代码
Nov 07 Javascript
javascript中setInterval的用法
Jul 19 Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
Jul 04 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
微信小程序数据存储与取值详解
Jan 30 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
viewer.js实现图片预览功能
Jun 24 Javascript
js操作数组函数实例小结
Dec 10 #Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 #Javascript
jQuery自定义动画函数实例详解(附demo源码)
Dec 10 #Javascript
javascript图片预加载完整实例
Dec 10 #Javascript
JavaScript动态插入CSS的方法
Dec 10 #Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 #Javascript
js表单提交和submit提交的区别实例分析
Dec 10 #Javascript
You might like
PHP 源代码压缩小工具
2009/12/22 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHP中list方法用法示例
2016/12/01 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
JS画线(实例代码)
2013/11/20 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
javascript中 try catch用法
2015/08/16 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
js封装成插件的步骤方法
2017/09/11 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
pymysql的简单封装代码实例
2020/01/08 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
新学期开学演讲稿
2014/05/24 职场文书
媒体宣传策划方案
2014/05/25 职场文书
会计工作总结范文2014
2014/12/23 职场文书
承诺函格式模板
2015/01/21 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js