web项目406错误的解决

时间:2024-11-14 10:14:00

我写的项目通过浏览器访问时遇到了406错误,下面是错误页面:

大概意思是返回的消息头浏览器不能解释。

下面是我的java代码:


我是是使用Springmvc框架中的@responseBody注解返回json数据

下面是我的:


响应的后缀为.html

下面是我的控制台打出的消息:


由此可知请求是正确的并且打印出了数据,说明是没问题的,最后查阅一些资料发现。

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