@ResponseBody响应JSON 406

搭建SpringMVC(4.1),但是搭建完成以后发现使用@ResponseBody的ajax无法访问,总是出现406的问题。

首先怀疑的是配置问题,经过查明,影响SpringMVC的@ResponseBody注解的是:

<mvc:annotation-driven />,我发现我的配置中存在这个注解。同时又使用Spring文档中的自动配置相关解析类的方式再进行测试,发现还是没有解决问题。

同时在网上找到相关问题,发现是缺失jackson的jar

<dependency> 
            <groupId>org.codehaus.jackson</groupId> 
            <artifactId>jackson-core-lgpl</artifactId> 
            <version>1.9.0</version> 
        </dependency> 
        <dependency> 
            <groupId>org.codehaus.jackson</groupId> 
            <artifactId>jackson-mapper-lgpl</artifactId> 
            <version>1.9.0</version> 
</dependency>

于是加上该依赖,可是发现问题还是没有解决。

有参考一下spring 文档

Spring 4 requires the recent Hibernate Validator 4.3+, and support for Jackson has been focused on 2.0+ now (with Jackson 1.8/1.9 support retained for the time being where Spring 3.2 had it; now just in deprecated form).

因为我用的是4.1.4的版本,所以已经不支持1.9以下的jackson了,所我使用2.5 版本的jackson

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.0</version>
</dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotation</artifactId>
<version>2.5.0</version>
</dependency>

问题解决

时间: 2024-10-29 19:12:00

@ResponseBody响应JSON 406的相关文章

springmvc @ResponseBody返回json 报406 not acceptable

今天在做springmvc的@ResponseBody返回json的例子时,碰到了这样一个问题"406 (Not Acceptable)",百度之后发现在缺了一个依赖包jackson-databind. 1.spring-mvc.xml配置文件 2.pom.xml文件 [email protected]代码

Spring MVC使用@ResponseBody返回JSON数据406问题解决方案

其实前面一篇关于zTree返回JSON数据的文章已经有一种解决方案了,但是当我今天在新公司搭建新环境的时候,发现决然又不行了,所以我觉得那应该不是最优的解决方案. 说起来,我以前接触到的一个项目,根本没有配置spring的文件,就直接用@ResponseBody可以返回JSON数据,不知道其中的秘诀在什么地方,搞不懂了. 今天主要提供另一个解决@ResponseBody返回JSON数据,页面抛出406错误的解决方案. 第一步,引入包: <dependency> <groupId>c

Spring下@ResponseBody响应中文内容乱码问题

引言: 在JQuery的Ajax请求中,收到的基于后台返回回来的结果出现乱码,在后台其内容正确,到了前台之后,确是乱码??????,该怎样解决呢? 1.  问题的提出 前端基于JQuery的Ajax进行页面请求,可是收到的响应信息中的中文确是乱码:后台使用了基于Spring的@ResponseBody来对响应结果进行了封装. 2. 分析问题 2.1  JQuery前端排除 基于查看,JQuery的前端Ajax请求默认的都是基于UTF-8的请求,指定与否不影响结果信息. 假设坚持要加,在前端jav

Spring接收和响应json数据

一.前言 关于什么是json以及基本使用技巧,为什么使用json等等,这里不再重复,直接进入主题 注:服务端接收json数据还原为java对象,称为反序列化,反之,将java对象作为响应转换为json数据发回给客户端,称为序列化 二.导入json相关框架的依赖(比如jackson) 如果使用的是spring boot框架,导入spring boot相关依赖后,就存在相关依赖,无需重复,否则会报错:   如果使用的是spring MVC框架,就需要手动导入相关依赖(比如Jackson),直接上代码

SpringMVC的@ResponseBody返回JSON,中文乱码问题的解决.

SpringMVC的@ResponseBody,返回json,如果有中文显示乱码的解决办法. 在SpringMVC的配置文件中 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> </bean> 查看了AnnotationMethodHandlerAdapter的源码,发现其默认编码为构造参数有StringHttpMessageC

SpringMVC 中使用 @ResponseBody 返回Json时,需要手动添加jackson依赖

No converter found for return value of type: class java.util.HashMapSpringMVC 中使用 @ResponseBody 返回Json时,需要手动添加jackson依赖!Maven添加: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId>

用springmvc的@RequestBody和@ResponseBody 接收和响应json格式数据

1.controller @Controller @RequestMapping("/rest/v1") public class WelcomeController { @RequestMapping(value="/date/json/next", method=RequestMethod.POST,consumes="application/json" ,produces="application/json") @Res

Spring MVC @ResponseBody响应中文乱码

问题:在前端通过get请求服务端返回String类型的服务时,会出现中文乱码问题 原因:由于spring默认对String类型的返回的编码采用的是 StringHttpMessageConverter>>> spring mvc的一个bug,spring MVC有一系列HttpMessageConverter去处理用@ResponseBody注解的返回值,如返回list则使用MappingJacksonHttpMessageConverter,返回string,则使用StringHttp

SpringMVC从Control中响应json数据

在页面上异步获取Controller中响应的json数据. <%@ 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