当前位置: 代码迷 >> Java Web开发 >> SpringMvc使用json失败,呀!
  详细解决方案

SpringMvc使用json失败,呀!

热度:76   发布时间:2016-04-13 22:44:31.0
SpringMvc使用json失败,求助呀!!!!
页面jQuery请求SpringMvc控制器,然后返回一个list集合的json时,粗错啦,按F12报了下面的错:
Failed to load resource: the server responded with a status of 406 (Not Acceptable) 
然后直接用页面访问控制器的方法则报了下面的错:
The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ().
在网上找了很久都没解决,有的说是什么POJO对象要转成Json对象什么的,然后弄了配置了一大串,发现还是没用~~~~我的一些配置的、控制器和页面的截图如下,求大神们帮助下~~~



------解决思路----------------------
1. $.post("company/list") 不是 $.post("company/list.htm")
2. 返回的 List<Company> 需要转换为 json,需要配置 message converter 
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8" />
            </bean>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                        <property name="dateFormat">
                            <bean class="java.text.SimpleDateFormat">
                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
                            </bean>
                        </property>
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

------解决思路----------------------
不知道你json配置好了没 如果没有 请先看一下这个http://blog.csdn.net/u012116457/article/details/43675971


------解决思路----------------------
是不是@ResponseBody返回的对象中的属性缺少set\get方法。 我不知道你controller和实体怎么写的 图看不了
------解决思路----------------------

<mvc:annotation-driven />

楼主配置一下上面的代码就可以了 ,不用写这么多XML了
------解决思路----------------------
引用:
Quote: 引用:

是不是@ResponseBody返回的对象中的属性缺少set\get方法。 我不知道你controller和实体怎么写的 图看不了

User user=new User();
@ResponseBody()
@RequestMapping("/test")
public User test(){
user=(User)iUserDao.userSelectById("user.selectById", 1);
System.out.println(user.getUserName());
return user;
}
public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}我这样测试的,又查出user来,打印了,那边SpringMvc配置文件也配置了,还是报这个错
The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ().


我是说你确定User类所有属性的get/set都写了是吧
  相关解决方案