我们都知道Spring MVC的前后端利用Json实现数据交互,那么Spring MVC发送json数据方法呢?
其实我们根本不用去手动装配json数据的转换。只需要保证几个配置关键点即可。下面是Spring MVC发送Json数据具体配置过程:
1.导入jar包
首先我们需要导入特定的jar包:
-jackson-core.jar
-jackson-annotation.jar
-jackson-databind.jar
此包支持json格式数据转换,也是SpringMVC中默认依赖的包。
2 配置Json转换器
在SpringMVC配置文件中,配置好Json转换器,共有两种方式:
<!-- Json转换器 -->
<bean id="mappingJackson2HttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJackson2HttpMessageConverter" /><!-- json转换器 -->
</list>
</property>
</bean>
还有一种超级简单的方式,只需要一行代码:
<!-- 支持mvc注解驱动 -->
<mvc:annotation-driven enable-matrix-variables="true" />
如果配置了mvc注解驱动,则不需要再单独配置Json转换器,推荐这种方式。
3.在springmvc.xml配置文件中添加
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="Index of /schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="Index of /schema/context"
xmlns:mvc="Index of /schema/mvc"
xsi:schemaLocation="Index of /schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
Index of /schema/context
http://www.springframework.org/schema/context/spring-context.xsd
Index of /schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<mvc:annotation-driven></mvc:annotation-driven>
<context:component-scan base-package="com.zlt.spmvc.controller"></context:component-scan>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/" p:suffix=".jsp"></bean>
</beans>
4.在控制器方法上编写@ResponseBody注解
package com.zlt.spmvc.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.zlt.spmvc.entity.Student;
/**
* SpringMVC的控制器(业务控制器)
* 定义的方法就是一个请求处理的方法
* @author caleb
*
*/
@Controller
@RequestMapping("/user")
public class TestController {
/**
* @ResponseBody 将实体转换成Json数据
* 具备两个条件
* 1. 导入jackson-core.jar, jackson-annotation.jar, jackson-databind.jar
* 2. springmvc-web.xml 添加
* @return
*/
@ResponseBody
@RequestMapping("/m08")
public Student m08() {
Student student = new Student();
student.setId(1001);
student.setSname("liu");
student.setT_id(2001);
return student;
}
}
在完成了上述的几个Spring MVC的配置过程后就大功告成了,基本上也就解决了Spring MVC发送Json数据的问题,后面的就是实际的Json数据发送了。还想继续深入学习的小伙伴可以观看本站的Spring MVC视频教程,学习Spring MVC发送Json数据的实例,结合实例可以让你对发送Json数据的理解更加深刻!
QCode09-04 14:38
Code大师09-04 14:50
不写代码你养我啊08-23 11:14
不写代码你养我啊09-17 18:02
要学习了06-18 18:13