这个问题有两个原因
1. 90%的可能性,后台没有jackson的jar包,不再多说,加上对应的jar包就ok,我们主要讨论下面的问题。
2. 10%的可能性,请求的路径是.html,web.xml中设置的spring前端控制器的拦截路径也设置的*.html。
然后controller中的方法添加了@ResponseBody注解,返回的类型可能是String,也可能是其他java类型,导致前端报406错误。
原因:.html这种请求路径比较特殊,springmvc不会给你返回一个json格式的数据类型,而是返回html格式的。
解决方法:在web.xml文件的spring前端控制器的servlet中增加一个<servlet-mapping>,比如增加*.action的请求路径,如下:
<servlet-mapping>
<servlet-name>wlss-web</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
然后访问的时候用.action的路径访问,不用.html后缀访问了,或者访问的时候不加后缀也不会出现406的错误!!