springmvc之发送json数据自动转Java对象接收

springmvc之发送json数据自动转Java对象接收

1、导包

  • 基于maven
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.0</version> </dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.0</version>
 </dependency>

2、jsp代码

<script>
    $(function () {
        $.ajax({
            url:"${pageContext.servletContext.contextPath}/user/json",
            data:JSON.stringify({"username":"tom"}),//JSON.stringify()必须有,否则只会当做表单的格式提交
            dataType:"json",
            type:"post",
            contentType:"application/json;charset=utf-8", //如果想以json格式把数据提交到后台的话,这个必须有,否则只会当做表单提交
            success:function (data) {

            }
        });
    });
</script>

3、控制器代码

 /**
     * json转对象
     */
    @RequestMapping("/json")
    public void jsonToObject(@RequestBody(required = false) User user){
        System.out.println("--------");
        System.out.println(user);
    }

4、配置json转换器

如果不使用注解驱动<mvc:annotation-driven />,就需要给处理器适配器配置json转换器

在springmvc.xml配置文件中,给处理器适配器加入json转换器:

<!--处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters">
    	<list>
    		<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
    	</list>
    </property>
</bean>
记得快乐
原文地址:https://www.cnblogs.com/Y-wee/p/13846272.html