springMvc接收/响应json数据

json 数据介绍:

       JSON数据的数据的格式比较简单,解析比较简单,应用比较多。特别是:手机客户端使用JSON数据交互比较多。

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

 

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


环境准备 : 
      Springmvc默认用MappingJackson2HttpMessageConverter对json数据进行转换,需要加入jackson的包

      只需要导入其中的3个jar包就可以

配置springMvc配置文件,加上该代码就行了,

       <mvc:annotation-driven/>

编写测试代码.....

    @RequestMapping("/json")
    public @ResponseBody User reciveJson(@RequestBody  User user){
        //输出打印user 对象
        log.info(user.toString());
        return user;
    }
然后我们写一个简单的页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
    <script src="${pageContext.request.contextPath}/js/jquery-1.8.3.min.js"></script>
    <script>
        $(function () {
            //入口函数
//          使用ajax
            $.ajax({
                type: "POST",
                url: "${pageContext.request.contextPath}/json.action",
                //需要配置参数类型,否则会报415错误
                contentType:"application/json;charset=utf-8",
                data: {
                    "name": "zs",
                    "address": "广东省"
                },
                success: function(msg){
                    console.log(msg)
                }
            });

        })
    </script>
  </head>
  <body>

  </body>
</html>

这里报错了, 400, 嗯 是路径问题 ,映射路径上多加了个斜杠....

 @RequestMapping("json")
    public @ResponseBody User reciveJson(@RequestBody  User user){
        //输出打印user 对象
        log.info(user.toString());
        return user;
    }


然后我天真的以为没有问题了,但是现实又给我了一巴掌.....



嗯,找了很久,发现是idea的问题,jar包没有导成功.......解决办法 如图


最后终于响应数据了,,,,有很多坑,多注意一下


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值