SpringMVC项目使用ajax向服务器请求数据时出现HttpMediaTypeNotAcceptableException错误的解决办法

Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not findacceptable representation

这时候前台一般也会出现406错误

这个错有很多出现错误的场景,网上有很多相关解决办法,但是很多都是用的老版本,对新版本的springMVC不怎么管用,而且有的说修改pom.xml文件,但是我的项目是把spring的jar丢到动态网页项目里WEB-INF/lib里这样的,根本没有pom.xml,我也没学过maven,看着那些配置很是头疼,所以自己慢慢尝试,才找到了原因。

首先spring依赖了几个jar需要手动导入,我的spring是5.1.7,版本比较新,所以直接用了比较新的

jackson-core-2.9.8.jar

jackson-databind-2.9.8.jar

jackson-annotations-2.9.8.jar

去这个网站可以下载 https://mvnrepository.com/search?q=jackson

第二个jar老版本是2013年的,不叫这名儿,网上很多解决办法都是让导入老版本那个,根本毫无卵用。第三个包也是必须要的,网上资料没提到这东西,真坑。

然后在WEB-INF下的 xxx-servlet.xml里添加一行代码  

当然,想用ajax传递数据的话,在Controller里的方法要加 @ResponseBody  注解

@RequestMapping()里produce可以不设,也可以设为produces="application/json;charset=UTF-8",类似这样

@RequestMapping(value="getValue",produces="application/json;charset=UTF-8")

一个方法例子:

@RequestMapping(value="getResponse",produces="application/json;charset=UTF-8")
@ResponseBody
    public Myclass getresponse(String value) {   
        System.out.println("进来了 "+name);
        Myclass a=new Myclass();
        ...
        return a;
    }

 

新人博主,只是搞着搞着就好使了,也不知道为什么这样,所以有什么说的不对还请见谅。

你可能感兴趣的:(SpringMVC项目使用ajax向服务器请求数据时出现HttpMediaTypeNotAcceptableException错误的解决办法)