406错误是什么 406错误怎么解决

如题所述

HTTP 406 错误指无法接受 (Not acceptable)错误。

出现406一般有两种原因:

1、Jackson包不存在(springMVC默认依赖Jackson包 )。

2、使用了@ResponseBody,返回数据后缀是.json,但是映射器后缀又是.html.最后浏览器收到数据不知该以哪种类型数据来进行解析,所以就会报406状态码

406的解决办法

1、查看Jackson包是否存在(80%是这种情况)

2、检查java代码中是否使用了@ResponseBody注解,Springmvc框架中的@responseBody注解返回json数据

3、检查web.xml下的相应后缀是否为.html

4、问题出在请求的后缀.html,会欺骗浏览器当做一个静态网页来解析,是一个简单的SEO优化。一般来说是没问题的。但是这里我们使用了@ResponseBody,返回数据后缀是,.json,但是我们的映射器后缀又是.html.最后浏览器收到数据不知该以哪种类型数据来进行解析,所以就会报406状态码。解决方法将web.xml中的映射器的url-pattern的后缀改为其他的.action,.do或者其他都可以。

5、至此,出现406的所有原因都已排除,406的问题就能得到解决。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-02-06
第2个回答  2021-02-05