使用@ResponseBody注解可以让Controller返回json格式的数据,在需要传输一个对象信息的时候往往使用这种方式。如果在使用的时候遇到了406,一般原因是:

  • 缺少jar包。转换成json格式的字符串需要第三方jar包如jackson的支持
  • web.xml配置错误。在spring中,.html结尾的请求是不返回json的,如果需要一个请求以json格式返回,需要单独配置一个servlet-mapping
  • Dispatcher servlet 的xml配置文件没有配置注解驱动。

  正确的配置如下。

  Maven配置文件,spring的版本是4.x。

     <!--json解析--><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.5</version></dependency><!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.8</version></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.5</version></dependency>

  web.xml文件中关于servlet-mapping的配置。为Dispatcher-servlet配置多个mapping路径,在需要一个请求返回json的时候,url写成/service/test的形式,不走.html的mapping

<servlet><servlet-name>smart</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>3</load-on-startup></servlet><servlet-mapping><servlet-name>smart</servlet-name><url-pattern>*.html</url-pattern></servlet-mapping><servlet-mapping><servlet-name>smart</servlet-name><url-pattern>/service/*</url-pattern></servlet-mapping>

  DispatcherServlet的xml。记得开启注解,并增加相应的命名空间

<mvc:annotation-driven></mvc:annotation-driven>

  

转载于:https://www.cnblogs.com/AshOfTime/p/10412672.html

SpringMVC @ResponseBody 406相关推荐

  1. springmvc @ResponseBody返回json 报406 not acceptable

    今天在做springmvc的@ResponseBody返回json的例子时,碰到了这样一个问题"406 (Not Acceptable)",百度之后发现在缺了一个依赖包jackso ...

  2. @ResponseBody 406:The resource identified by this request is only capable of generating respon......

    @ResponseBody注解返回对象,请求接口时返回406,错误信息为The resource identified by this request is only capable of gener ...

  3. SpringMVC @ResponseBody在IE8变下载

    在使用IE8请求用@ResponseBody注解返回json格式数据的action时自动变下载页面,火狐和chorme正常.其原因就是响应Content-Type的值为application/json ...

  4. springmvc @responsebody json字符编码

    方法一,使用(produces = "application/json; charset=utf-8"): @RequestMapping(value="/getUser ...

  5. ajax spring mvc 接收json数据,easyui ajax请求获取SpringMVC @ResponseBody返回的Json数据为什么非得eval才能通过对象获取值?...

    是这样的,问题是不是比较郁闷, Spring代码@RequestMapping(value="/UserModel/createUser.html") @ResponseBody ...

  6. SpringMVC —— @ResponseBody原理

    目的 @ResponseBody可以添加在控制器类或其下方法中,这样在请求结果对象返回时能够将其解析为JSON格式,这是如何实现的呢? 文章目的在于梳理@ResponseBody实现的原理 引子 先看 ...

  7. springmvc json 406

    spring 4.0 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  8. SpringMVC ResponseBody返回字符串带双引号解决

    2019独角兽企业重金招聘Python工程师标准>>> 我使用的spring version:4.3.4 1.为什么出现双引号? 主要是因为在返回的字符串不是json格式,同时又被默 ...

  9. ajax传递数组 php,jQuery.ajax向后台传递数组问题如何解决

    本文主要为大家详细介绍了jQuery.ajax向后台传递数组问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 今天重温了一个问题,jQuery.ajax向后台传递一 ...

最新文章

  1. 查看平台内核信息脚本
  2. wordpress给后台文章列表增加自定义排序栏
  3. ar编码matlab仿真_matlab-ofdm通信链路仿真
  4. PyQt5-关闭窗体显示提示框(窗口界面显示器上居中)-5
  5. 大数据和人工智能的关系,超全解析
  6. 毕业论文 | 便携式环境烟雾监测器(源码、电路图)
  7. C/C++Linux服务器开发/高级架构师
  8. redis之sorted sets类型及操作
  9. stylus之混合书写(Mixins)
  10. C#中Lambda表达式动态拼接生成工具类
  11. php查找以xx结尾的的字符串单词,Javascript中查找不以XX字符结尾的单词示例代码_javascript技巧...
  12. java getconstructors,java 反射 constructors的问题,真心需要解决
  13. Android NDK 入门与实践
  14. 国家计算机机房地址,国家电子计算机机房设计规范..doc
  15. VBOT - PHP 个人微信号群管理机器人
  16. BZOJ2565最长双回文串——manacher
  17. 【侯捷】C++面向对象程序设计
  18. 商贸批发进销存管理软件,仓库条码管理,库存管理。采购入库单,供应商档案管理。
  19. linux查看pcie网卡命令,kudzu命令查看及设置网卡等硬件信息
  20. WebStorm开发应用——前端页面

热门文章

  1. 云计算发展备受瞩目的五大方向
  2. mysql Table 'performance_schema.session_variables' doesn't exist
  3. c++ placement new
  4. CSU 1027 Smallbox魔方
  5. TurboMail邮件服务器 V4.2.0 正式发布
  6. 使用Ant制作发布版本
  7. 面试题 04.03. 特定深度节点链表
  8. Ubuntu20.4安装YouCompleteMe
  9. 稳定币协议Fei Protocol通过FIP-2提案
  10. SAP License:SAP货币转换