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 相关文章推荐
网页中的图片的处理方法与代码
Nov 26 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
Jquery树插件zTree用法入门教程
Feb 17 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
Feb 19 Javascript
深入浅析JavaScript中数据共享和数据传递
Apr 25 Javascript
JavaScript 对象字面量讲解
Jun 06 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
Sep 09 Javascript
JavaScript解析JSON格式数据的方法示例
Jan 24 Javascript
jQuery回调方法使用示例
Jun 26 jQuery
canvas轨迹回放功能实现
Dec 20 Javascript
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 jQuery
详解vue使用插槽分发内容slot的用法
Mar 28 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
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
JavaScript修改css样式style
2008/04/15 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
js中的面向对象入门
2017/03/06 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
python写入已存在的excel数据实例
2018/05/03 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
Python如何将函数值赋给变量
2020/04/28 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
物理系毕业生自荐信
2013/11/01 职场文书
个性大学生自我评价
2013/12/04 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
巾帼建功标兵事迹材料
2014/05/11 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
党建工作整改措施
2014/10/28 职场文书
九华山导游词
2015/02/03 职场文书
甲午大海战观后感
2015/06/02 职场文书