关于ssm通过ajax来进行数据交互出现的错误:org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'ap

本人刚学ssm,遇到此错误肯定是第一时间百度,无奈,找不到解决的方法

错误:org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'ap

需求:将前端的数据通过json传给后台,后台用注解@RequestBody 解析到itemsCustomTest对象里面,然后将itemsCustomTest又包装成json返回给前端页面,alert输出结果

预期结果:Object object

/*
*<p>Description:商品类的Test</p>
*@author running.fjr
*@date  2017年7月25日下午1:57:38
*/
public class ItemsCustomTest {
   // private Integer id;

    private String name;

    private int price;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "ItemsCustomTest [name=" + name + ", price=" + price + "]";
    }
}



/*
*<p>Title:cn.itcast.ssm.controller</p>
*<p>Description:json交互测试</p>
*@author running.fjr
*@date  2017年7月30日下午3:11:31
*/
@Controller
public class JsonTest {
    //请求json,输出json
    //@RequestBody将请求的商品信息的json串,转成itemsCustomTest对象
    //@ResponseBody将itemsCustomTest转成json输出
    @RequestMapping("/requestJson")
    public @ResponseBody ItemsCustomTest requestJson(@RequestBody ItemsCustomTest itemsCustomTest)throws Exception{
        //@ResponseBody将itemsCustom转成json输出
        System.out.println("输出:"+itemsCustomTest);
        return itemsCustomTest;
    }
}



/*

测试页面

*/

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>json交互的测试</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript">

//请求json,输出json
function requestJson(){
    $.ajax({
        type:'post',
        url:'${pageContext.request.contextPath}/requestJson.action',
        contentType:"application/json",
        dataType:'json',
        //数据格式是json串,商品信息
        //接收用@requestBody
        data:JSON.stringify({name:"手机",price:999}),
        success:function(data){//返回json结果
            alert(data);
        }
    });
 }
</script>
</head>
<body>
<input type="button" οnclick="requestJson()" value="请求json,输出json"/>
</body>
</html>

错误解决:网上有一些其他的方法,其实代码本身没有错误,我们在排除代码没有错误后就应该想到是不是依赖包导入有问题,没错就是依赖包导入有问题,当初学习的时候,使用的整个环境是spring3.2,后来由于我的jdk8版本过高,不得以换成spring4.3,然而其他的jar包并没有更新,所以导致了这个错误,解决方法,将整个换进全部换成spring4.3的依赖包,,结果解决了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值