本打算今天早点下班,结果下午测试调试程序发现一个问题纠结到晚上才解决,现在写一篇博客来总结下。

  是这样的,本人在Spring mvc控制层用到了@ResponseBody标注,以便返回的数据为json格式的数据,到前端JS中用。

  问题来了,当我用火狐调试发现请求总是报:406 Not Acceptable,message:description The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ()错误。(说是指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容)。

  于是楼主那个纠结,那个郁闷啊。BUG了又BUG,百度了又百度,又怀疑是引用的ext.js文件有问题,因为报ext.base和ext.all语法错误。最后发现是mime类型不匹配。由于我要返回的是json数据,而浏览器接受的是text/html;charset=UTF-8文本类型。不过发现问题还有好几个,一一解决之:

  1. 未在pom文件中引入json的转换包。需要引入如下2个包:
  <!-- jackson start --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-core-asl</artifactId></dependency><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-lgpl</artifactId><version>1.9.12</version></dependency><!-- jackson end -->

  2.  spring-servlet.xml文件中需要配置转换的bean

    <beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="messageConverters"><util:list id="beanList"><ref bean="mappingJacksonHttpMessageConverter" /></util:list></property></bean><bean id="mappingJacksonHttpMessageConverter"class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value></list></property></bean>

3.  最后,别忘了还要声明util的schema文件和地址,在spring-servlet.xml文件的头部声明部分加入如下三行即可

xmlns:util="http://www.springframework.org/schema/util"http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-3.0.xsd

OK,搞定,大功告成,下班~~~

转载于:https://www.cnblogs.com/tanglc/p/3664795.html

Spring MVC控制器用@ResponseBody声明返回json数据报406的问题相关推荐

  1. Spring MVC 3.2.2 +easyui 返回JSON数据格式

    最近花了很多时间,研究Spring MVC 3.2.2 +easyui,实现了这个,前端页面实现个系统就很简单了. Spring MVC 返回JSON数据的方法 1). 直接 PrintWriter ...

  2. Spring MVC控制器的单元测试:REST API

    Spring MVC提供了一种创建REST API的简便方法. 但是,为这些API编写全面而快速的单元测试一直很麻烦. Spring MVC测试框架的发布使我们可以编写可读,全面且快速的单元测试. 这 ...

  3. Spring Controller – Spring MVC控制器

    Spring Controller annotation is a specialization of @Component annotation. Spring Controller annotat ...

  4. 编写 Spring MVC 控制器的 14 个技巧

    欢迎关注方志朋的博客,回复"666"获面试宝典 通常,在Spring MVC中,我们编写一个控制器类来处理来自客户端的请求.然后,控制器调用业务类来处理与业务相关的任务,然后将客户 ...

  5. requestmapping默认是get还是post_编写Spring MVC控制器的14个技巧,你今天get到了吗?...

    Java面试笔试面经.Java技术每天学习一点 公众号Java面试 关注我不迷路 原文:http://dzone.com/articles/14-tips-for-writing-spring-mvc ...

  6. Spring MVC控制器的单元测试:“普通”控制器

    本教程的第一部分描述了如何配置使用Spring MVC Test框架的单元测试. 现在是时候动手做,学习如何为"常规"控制器编写单元测试了. 显而易见的下一个问题是: 什么是普通控 ...

  7. Spring 3.2.* MVC通过Ajax获取JSON数据报406错误

    Spring 3.2.x通过@ResponseBody标签返回JSON数据的方法都报406错: Failed to load resource: the server responded with a ...

  8. Spring MVC控制器的单元测试:配置

    传统上,为Spring MVC控制器编写单元测试既简单又成问题. 尽管编写调用控制器方法的单元测试非常简单,但问题是这些单元测试不够全面. 例如,我们不能仅通过调用已测试的控制器方法来测试控制器映射, ...

  9. 吐血整理!14个编写Spring MVC控制器的实用小技巧

    全文共4248字,预计学习时长9分钟 编写Spring MVC控制器的最佳技巧 本文介绍了编写Spring MVC框架的控制器(controller)的基础技巧和最佳操作.在Spring MVC框架中 ...

最新文章

  1. andoridView修改
  2. java怎么清空表释放空间_Linux 删除文件未释放空间问题处理,下清空或删除大文件...
  3. 深入了解softmax
  4. Android开发之引用三方库导致SO库冲突的解决办法
  5. oracle instant client配置(MAC OS)
  6. 【HDU - 5489】Removed Interval(离散化,权值线段树,思维,最长上升子序列)
  7. 解决北京户口,中科院计算所校招,CV/图像处理工程师,博士优先
  8. Hibernate初探之单表映射——jar包的导入
  9. Topcomponent --sighoff
  10. 服务器版dll修复工具,DLL修复工具哪个好?五款修复能力强推荐
  11. 物联网周刊(第 5 期):智能家居入口之争
  12. word写论文公式编号问题
  13. ASP的工作原理和运行环境
  14. html 指针图表,HTML5 canvas 指针时钟
  15. Android程序崩溃处理
  16. 远程车控怎么玩?来,我教你..
  17. python技术--Linux基础01
  18. 如何用html制作彩虹,javascript – 如何使用HTML5画布生成彩虹圈?
  19. 阿里云弹性裸金属服务器常见问题汇总
  20. html头像动画,用CSS3实现头像旋转效动画

热门文章

  1. Ibatis 升级 Mybatis
  2. navigator对象介绍
  3. 计算机it分几个学,2020德国计算机专业申请指南 IT专业学习有哪些难度
  4. 卡耐基大学计算机专业分类,卡内基梅隆大学计算机专业
  5. jq设置checked是否选中_javascript之jquery如何判断input type=checkbox中checked是否存在选中项呢?...
  6. 组合模式java怎么获取钥匙_java中组合模式详解和使用方法
  7. Elastic-Job任务类
  8. Apollo创建项目
  9. AnnotationConfigApplicationContext容器初始化
  10. RocketMQ的Producer详解之分布式事务消息(原理分析)