`

SpringMVC异常报406 (Not Acceptable)的解决办法

阅读更多
使用SpsringMVC,使用restEasy调试,controller请求设置如下:
 @RequestMapping(value="/list",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_VALUE)
	@ResponseBody
	public List<EditTimeout> list(){
		 List<EditTimeout> list = editImpl.selectAll();
		return list;
	}


请求,debug跟踪list是返回值没有问题,但是前台页面报如下错误:
Response Status: 406 (Not Acceptable)


Response RAW返回值如下,(前半部分)
HTTP GET http://127.0.0.1:8080/onlineLibrary/rest/system/editTimeout/list
Host: 127.0.0.1:8080


406 Not Acceptable
Date: Sat, 17 Aug 2013 11:01:07 GMT
Server: Apache-Coyote/1.1
Content-Length: 1067
Content-Type: text/html;charset=utf-8
<html><head><title>Apache Tomcat/7.0.34 - Error report</title><style>


后台提示错误:
2013-08-17 19:01:03,116 DEBUG org.springframework.web.servlet.DispatcherServlet -Last-Modified value for [/onlineLibrary/rest/system/editTimeout/list] is: -1
2013-08-17 19:01:07,606 DEBUG org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver -Resolving exception from handler [public java.util.List<com.online.ol.filter.EditTimeout> com.online.ol.filter.EditTimeoutContoller.list()]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
2013-08-17 19:01:07,680 DEBUG org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver -Resolving exception from handler [public java.util.List<com.online.ol.filter.EditTimeout> com.online.ol.filter.EditTimeoutContoller.list()]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
2013-08-17 19:01:07,681 DEBUG org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver -Resolving exception from handler [public java.util.List<com.online.ol.filter.EditTimeout> com.online.ol.filter.EditTimeoutContoller.list()]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation




引起的原因:
   由于设置了@ResponseBody,要把对象转换成json格式,缺少转换依赖的jar包,故此错。
解决办法:
   加入依赖的jar,jackson-core-asl-1.9.12.jar,jackson-mapper-asl-1.9.12.jar问题解决。
7
12
分享到:
评论
11 楼 HarryMa 2018-01-05  
v 
10 楼 HarryMa 2018-01-05  
[i][/i]。。 
9 楼 lingyun6100 2017-10-31  
我也遇到同样问题,我的错误原因是错引用了JSONObject。  应该引用com.alibaba.fastjson.JSONObject,  我错引用了org.json.JSONObject.
8 楼 cbn_1992 2017-08-16  
972974124 写道
换了json的jar包还是不好用,我把dispatcher-servlet.xml中的开启注解换成<mvc:annocation-driven/>就好用了,原来用的是<context:annocation-config>标签,希望可以帮到你

你这是正确答案
7 楼 u012968912 2016-06-13  
   
5 楼 972974124 2015-07-03  
换了json的jar包还是不好用,我把dispatcher-servlet.xml中的开启注解换成<mvc:annocation-driven/>就好用了,原来用的是<context:annocation-config>标签,希望可以帮到你
4 楼 ouzengqi2010 2015-02-11  
感谢  问题解决了
3 楼 di1984HIT 2014-11-06  
写的很好啊
2 楼 u013187893 2014-10-13  
试了,不起作用
1 楼 love_you_girl 2014-04-30  
我提示的错误跟你的不一样,我自己定义输出json字符串, 例如这样:
public void outJsonString(HttpServletResponse response, Object object) {
        response.setContentType("text/javascript;charset=UTF-8");
        response.setHeader("Cache-Control", "no-store, max-age=0, no-cache, must-revalidate");
        response.addHeader("Cache-Control", "post-check=0, pre-check=0");
        response.setHeader("Pragma", "no-cache");
        try {
            PrintWriter out = response.getWriter();
            out.write(BaseAjaxController.toJson(object));
            out.close();
        } catch (IOException e) {
            logger.warn("BaseAjaxController | outJsonString | " + object + " | error:" + e.getMessage());
        }
    }
然后就没有报406了

相关推荐

    springmvc 异常处理示例

    springmvc异常处理的博文如下: http://blog.csdn.net/dlf123321/article/details/50756003

    SpringMVC框架中传递JSON数据时前台报406错误解决办法

    然而,在实际操作中,我们可能会遇到一个常见的问题,即HTTP状态码406(Not Acceptable)。这个错误通常意味着服务器生成了响应,但客户端无法接受它,因为响应的格式不在其可接受的类型列表中。本篇文章将深入探讨...

    SPRINGMVC 406问题解决方案

    SPRINGMVC 406问题解决方案 SPRINGMVC 是一个基于 Java 的 Web 应用程序框架,它提供了一个灵活的方式来开发 Web 应用程序。然而,在使用 SPRINGMVC 时,可能会遇到一些问题,例如 406 错误。本文将详细介绍 ...

    SpringMVC 异常处理-2021-04-11.txt

    异常一层一层的向上抛出,但是开发人员肯定不想要用户看到代码出错,因此需要将异常屏蔽了,SpringMVC提供了异常处理的手段。

    12SpringMVC异常处理.md

    12SpringMVC异常处理.md

    springmvc异常处理demo.zip

    SpringMVC中异常处理机制,简单案例,里面有详细说明以及博客说明。

    springmvc返回json的全局异常统一处理demo

    springmvc返回json的全局异常统一处理demo,有问题可以留言。

    springMVC解决中文乱码

    SpringMVC解决中文乱码问题 SpringMVC 框架中,中文乱码问题是常见的问题之一。解决这个问题的关键是正确地配置字符编码。下面我们将详细介绍 SpringMVC 中解决中文乱码问题的思路和方法。 配置文件中的字符编码 ...

    SpringMVC异常处理知识点总结

    SpringMVC 异常处理是指在 Spring MVC 框架中对异常情况的处理和解决机制。异常处理是指在程序执行过程中出现的错误或异常情况的处理和解决机制。在 Spring MVC 框架中,异常处理是通过使用 @ExceptionHandler 注解...

    springMVC3学习(八)--全局的异常处理(源码)

    springMVC3学习(八)--全局的异常处理(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/26286435

    ssm-springMVC-整合Quartz(解决了无法注入service问题).doc

    ssm-springMVC-整合Quartz(解决了无法注入service问题).doc

    SpringMVC简介与多线程解决方案

    它简化了从前端接收到数据并将其处理后返回到前端的过程,提供了强大的功能,如请求分发、视图解析、参数绑定以及异常处理。 ### SpringMVC核心组件 1. **DispatcherServlet**:作为SpringMVC的前端控制器,负责...

    SpringMVC上传下载异常处理

    本文档主要介绍了SpringMVC的ModelAndView机制,使用SpringMVC实现文件上传,下载以及全局异常处理机制

    SpringMVC PPT_springmvc_

    SpringMVC 是一款基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。本教程将深入探讨 SpringMVC 的核心概念、配置以及实际应用。...

    SSM笔记-SpringMVC的异常处理

    SSM笔记-SpringMVC的异常处理,包含了ExceptionHandler注解、ResponseStatusExceptionResolver、DefaultHandlerExceptionResolver、SimpleMappingExceptionResolver的使用和试验

    防止SpringMVC拦截器拦截js等静态资源文件的解决方法

    在本文中,我们讨论了三种解决SpringMVC拦截器拦截静态资源文件的方法,并对这些方法的优劣进行了分析。 方案一是在拦截器中排除静态资源路径。在SpringMVC的配置文件中(通常是spring-mvc.xml),可以通过配置元素...

    springMVC练手代码

    10. **异常处理**:通过`@ExceptionHandler`注解,可以在控制器中统一处理异常,或者在配置文件中全局定义异常处理器。 通过这个练手代码,你可以实践上述概念,了解它们如何协同工作。同时,你还能学习如何集成...

    SpringMVC 中的拦截器与异常处理

    在SpringMVC框架中,拦截器(Interceptor)和异常处理是两个重要的概念,它们对于构建健壮、可维护的Web应用程序至关重要。本文将深入探讨这两个主题,并解释它们如何协同工作以提升应用性能和用户体验。 首先,让...

Global site tag (gtag.js) - Google Analytics