SpringMVC出现406错误的解决办法

时间:2024-03-16 16:16:35

问题描述:使用SSM搭建框架开发接口,结构如下图:

SpringMVC出现406错误的解决办法

把项目发布到weblgoic服务器后,输入http://localhost:7001/NSRTRegistration/Nsrzcxxgr/addNsrxxGR.do?参数信息

返回406错误。我已经在方法上加上@ResponseBody让他不被视图解析器解析。为什么还会返回406呢?

问题解决思路:

1.因为spring 3.x(具体哪个版本忘记了)开始,对request里的header 中的accept(也就是mimetype)进行了识别,如果你指定了拦截后缀,比如你原先的.html,那么不管你是ajax还是平常的页面访问,都会当作text/html处理,而你通过ajax访问并不是text/html,而是application/json(可能是类似的),于是spring mvc给你报了个406错误。

2.为此你需要引入Jackson-Annotations-2.4.6.jar,Jackson-core-2.4.6.jar,Jackson-databind-2.4.6.jar三个jar包,这样在使用@ResponseBody注解时才会自动帮你打包成json格式。

SpringMVC出现406错误的解决办法

最后就可以在浏览器显示接口返回的json数据