博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC返回json数据的三种方式
阅读量:5904 次
发布时间:2019-06-19

本文共 1671 字,大约阅读时间需要 5 分钟。

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
list(ModelMap modelMap) { String hql = "select c from Clothing c "; Page
page = new Page
(); 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 可以这样设置

配置如下:

添加包

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

 

转载地址:http://qmkpx.baihongyu.com/

你可能感兴趣的文章
局域网网速变慢的故障细致分析
查看>>
oracle 远程tns配置
查看>>
7.1.3.3. Using the Rails console with ActionPack
查看>>
虚拟桌面带宽评估
查看>>
一起学shell(十一)之安全的shell脚本:起点
查看>>
Microsoft® Deployment Toolkit 2010之快速部署Windows 7
查看>>
数据库中ID字段增长方式
查看>>
C#开发微信门户及应用(31)--微信语义理解接口的实现和处理
查看>>
29.2. Client
查看>>
[LeetCode] Shortest Unsorted Continuous Subarray 最短无序连续子数组
查看>>
进程间通信--管道篇
查看>>
留言板
查看>>
jar包和war包的介绍和区别
查看>>
VC编辑框(EDIT)的自动换行、自动滚屏 、到指定行数自动清空
查看>>
VC++ 6.0 C8051F340 USB 通信 CAN 数据解析
查看>>
7.2. group_concat() 列传行
查看>>
人工智能下医学影像迎来新发展
查看>>
iOS开发之iPhone通过get和post方式请求asp.net webservice
查看>>
3.4. Cluster
查看>>
HDU 2561 第二小整数
查看>>