问题描述:使用SSM搭建框架开发接口,结构如下图:
把项目发布到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格式。
最后就可以在浏览器显示接口返回的json数据