spring mvc-SpringMVC使用注解解析json总是报415错误

问题描述

SpringMVC使用注解解析json总是报415错误

前端使用angularjs的$resource发送
这是方法:

@RequestMapping(value = "/studentTest")
public class StudentController {

    /**
     * 测试
     */
    @RequestMapping(value = "/save",method = RequestMethod.POST,consumes = "application/json")
    @ResponseBody
    public HashMap<String,Object> save(@RequestBody Student student){
        HashMap<String,Object> hashMap = new HashMap<String,Object>();

        ApplicationContext ctx = new ClassPathXmlApplicationContext("springmvc.xml");
        StudentDao studentDao = (StudentDao)ctx.getBean("StudentBean");

        if(studentDao.save(student)){
            hashMap.put("error", 0);
            hashMap.put("msg", "插入测试成功");
        }else{
            hashMap.put("error", 1);
            hashMap.put("msg", "插入测试失败");
        }
        return hashMap;
    }
}

这是前端angularjs的$resource
TestApp.factory('TestService',function($resource){
return $resource(projectName + '/student/courseList',{},{
insert: {
url: projectName + '/studentTest/save',
method: 'POST',
isArray: false,

    }
});

});
$scope.registerInfo = [{
'snumber': 'qubxxk',
'sname': "接口测试",
'sage': 10
}]

    TestService.insert($scope.registerInfo,function(res){
        if(res.error === 0){
            if(res.msg !== null){
                console.log(res.msg);
            }else{
                console.log("插入测试成功");
            }
        }else{
            if(res.msg !== null){
                console.log(res.msg);
            }else{
                console.log("插入测试失败");
            }
        }
        console.log(res);
        //恢复按钮状态
        $scope.test_btn = '插入测试';
        $scope.insert_disabled = false;
    },function(){
        console.log("api连接失败");
        $scope.test_btn = '插入测试';
        $scope.insert_disabled = false;
    });

下面是配置文件springmvc.xml

``

<!--配置注解映射器和适配器 (这样不需要单独配置json转化器) -->
<mvc:annotation-driven/>

<!--因为在web.xml中配置的url-pattern所有的都由DispatcherServlet处理,而静态文件不需要,所以按如下配置  -->
<!--配置静态文件  -->
<!-- <mvc:default-servlet-handler/> -->
<mvc:resources location="WEB-INF/js/" mapping="/js/**"/>
<mvc:resources location="img/" mapping="/img/**"/>
<mvc:resources location="Public/" mapping="/Public/**"/>

<!-- 扫描Spring注解的配置 -->
<!-- 对于注解的Handler可以单个配置,实际开发中建议使用组件扫描 -->
<!-- 可以扫描controller、service、...这里让扫描controller,指定controller的包 -->
<!-- <context:component-scan base-package="com.tgb.itoo.controller"></context:component-scan> -->
<bean class="com.tgb.itoo.controller.CourseController" />
<bean class="com.tgb.itoo.controller.IndexController" />
<bean class="org.controller.StudentController" />`

另一个配置文件

${driverClassName}
${url}
${username}
<!-- ${password} -->

<!-- 告知Hibernate的sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="current_session_context_class">thread</prop>
        </props>
    </property>
    <property name="mappingResources">
        <list>
            <value>org/bean/Student.hbm.xml</value>
        </list>
    </property>
</bean>

<bean id="StudentBean" class="org.dao.StudentDaoImp">
    <property name="sessionFactory">
        <ref bean="sessionFactory"/>
    </property>
</bean>

![图片说明](http://img.ask.csdn.net/upload/201604/25/1461563276_434072.png)

解决方案

SpringMVC使用注解@ResponseBody返回json中文乱码

解决方案二:

http://blog.csdn.net/tiantiandjava/article/details/46125141

解决方案三:

没用maven就直接下载这个jar包导入就可以了啊

解决方案四:

下载地址,http://download.csdn.net/detail/u014259620/8693825

解决方案五:

应该是Jackson 包没有导入

时间: 2024-09-17 03:38:27

spring mvc-SpringMVC使用注解解析json总是报415错误的相关文章

配置-Spring mvc做登录拦截,诡异的报404,tomcat日志没有任何输出

问题描述 Spring mvc做登录拦截,诡异的报404,tomcat日志没有任何输出 先看出错提示TOMCAT没有日志输出,直接在浏览器报的404拦截器类方法: public boolean preHandle(HttpServletRequest request HttpServletResponse response Object handler) throws Exception { LoginAccount user=(LoginAccount) request.getSession(

关于c语言解析json,nalloc段错误问题

问题描述 关于c语言解析json,nalloc段错误问题 如图,我现在有四条数据,主函数传进来,前三条没问题, 第四条的时候段错误 gdb显示段错误位置在malloc,求助,为什么会这样 解决方案 1.有这种可能,你目前的修改方法只是降低了问题出现的概率. 2.建议你还是找出内存越界的原因,如果实在不想找,或者不好找,建议你先预估一下输入的数据最大有多大,然后申请足够的内存. 3.不过对于一个优秀的程序员,查找出问题的真正原因对你的进步是非常有帮助的. 解决方案二: C语言解析JSONJson解

spring mvc-android客户端发送json body ,报415错误。。

问题描述 android客户端发送json body ,报415错误.. @RequestMapping(value = ""/test""method = RequestMethod.POST consumes=""application/json"")@ResponseBodypublic String test(@RequestBody GoodsBean mGoodsBean) { System.out.println

用的spring mvc 添加了分页 功能后一直报错 求大神解决

问题描述 用的spring mvc 添加了分页 功能后一直报错 求大神解决 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver]Resolving exception from handler [com.app.controller.ManageController@185c0de]: java.lang.NumberFormatException: For input s

配置 iles框架-Spring MVC的配置Tiles框架中配置后出面错误

问题描述 Spring MVC的配置Tiles框架中配置后出面错误 Spring MVC的配置Tiles框架中配置后出面错误,请大家帮着分析一下原因,以下是spring-servlet.xml <?xml version="1.0" encoding="UTF-8"?> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.spri

spring4mvc-ajax-requestbody解析不了arraylist报415错误

问题描述 spring4mvc-ajax-requestbody解析不了arraylist报415错误 直接上代码 script代码: function sendMsg3(){ var test=new Array(); test[0]="呵呵1"; test[1]="呵呵2"; test[2]="呵呵3"; test[3]="呵呵4"; test[4]="呵呵5"; var userJsonStr=JSO

Spring MVC 更灵活的控制 json 返回

这篇文章主要讲 Spring MVC 如何动态的去返回 Json 数据 在我们做 Web 接口开发的时候, 经常会遇到这种场景. 两个请求,返回同一个对象,但是需要的返回字段并不相同.如以下场景 /** * 返回所有名称以及Id */ @RequestMapping("list") @ResponseBody public List<Article> findAllNameAndId() { return articleService.findAll(); } /** *

Spring MVC拦截器+注解方式实现防止表单重复提交

原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过. 1.新建注解: ? /**  * <p>  * 防止重复提交注解,用于方法上<br/>  * 在新建页面方法上,设置needSaveToken()为true,此时拦截器会在Session中保存一个token,  * 同时需要在新建的页面中添加  * <input type="hidden" name

基于spring mvc框架的项目访问服务器的时候报以下错误

问题描述 解决方案 解决方案二:你的bean创建失败了,你应该看看它为什么创建失败解决方案三:恩少了几个jar包