码迷,mamicode.com
首页 > 编程语言 > 详细

在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案

时间:2017-08-07 00:13:26      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:jar   request   public   jquery   ota   ejs   代码   ica   r.java   

我在使用SpringMVC的@RequestBody和@ResponseBody注解处理JSON数据的时候,总是出现415的错误,说是不支持所提交数据格式,我在页面中使用了JQuery的AJAX来发出JSON数据给服务器:

      $.ajax({  
        type:‘post‘,
        url:‘${pageContext.request.contextPath }/requestJSON.action‘,
        contentType :‘application/json;charset=utf-8‘,
        //数据是JSON
        data:‘{"name":"手机","price":9999}‘,
        success:function(data){
            alert(data);
        }
      });

同时也指定了contentType类型,但是还是出现了415

最后我发现是使用的jar出问题了,我原来使用的jar是:

技术分享

spring版本是4.3.6,就一直出现415,最后我将jar包换成:

技术分享

就可以了,是版本之间的问题

页面代码:

<%@ 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>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
  function requestJSON(){
        
      $.ajax({  
        type:post,
        url:${pageContext.request.contextPath }/requestJSON.action,
        contentType :application/json;charset=utf-8,
        //数据是JSON
        data:{"name":"手机","price":9999},
        success:function(data){
            alert(data);
        }
      });
  }
  
  function responseJSON(){
      $.ajax({  
            type:post,
            url:${pageContext.request.contextPath }/responseJSON.action,
            data:name=手机&price=9999,
            success:function(data){
                alert(data);
            }
          });
  }
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试JSON</title>
</head>
<body>
<input type="button" value="请求是JSON,输出还是JSON" onclick="requestJSON()"/>
<input type="button" value="请求是key/value,输出是JSON" onclick="responseJSON()"/>
</body>
</html>

JSONTestController.java (控制器):

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import cn.lynu.model.ItemsCustom;

@Controller
public class JSONTestController {

    
    @RequestMapping("/requestJSON.action")
    public @ResponseBody ItemsCustom requestJSON(@RequestBody ItemsCustom itemsCustom){
        return itemsCustom;
    }
    
    @RequestMapping("/responseJSON.action")
    public @ResponseBody ItemsCustom responseJSON(ItemsCustom itemsCustom){
        return itemsCustom;
    }
    
}

 

在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案

标签:jar   request   public   jquery   ota   ejs   代码   ica   r.java   

原文地址:http://www.cnblogs.com/lz2017/p/7296260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!