一 配置
1 Spring3.0
2 Maven4.0
3 Java7
二 返回XML
1 在Controller的返回函数中,使用@ResponseBody注解。该注解的含义,是使Spring将函数的返回数据(String、JSON、XML对象等),直接写回到Response中返回,而不是默认情况下的返回一个页面。
2 在viewspace-servlet.xml文件中,增加
<mvc:annotation-driven />
这条配置使得@ResponseBody注解生效。
3 在@RequestMapping标签中,使用配置项“produces={"application/xml; charset-UTF-8"}”,选择使用XML数据转换器。
4 在需要返回的XML对象对应的类文件中,增加@XMLRootElement和@XMLElement这些JAXB标签,这些标签规定了Java对象和XML的对应关系。例如:
@XmlRootElement(name = "coffee")
public class Coffee {
String name;
int quanlity;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public int getQuanlity() {
return quanlity;
}
@XmlElement
public void setQuanlity(int quanlity) {
this.quanlity = quanlity;
}
public Coffee(String name, int quanlity) {
this.name = name;
this.quanlity = quanlity;
}
public Coffee() {}
}
三 返回JSON
1 在Controller的返回函数中,使用@ResponseBody注解。该注解的含义,是使Spring将函数的返回数据(String、JSON、XML对象等),直接写回到Response中返回,而不是默认情况下的返回一个页面。
2 在viewspace-servlet.xml文件中,增加
<mvc:annotation-driven />
这条配置使得@ResponseBody注解生效。
3 在@RequestMapping标签中,使用配置项“produces={"application/json; charset-UTF-8"}”,选择使用json数据转换器。
4 在pom.xml文件中,增加json数据转换器依赖的jar包
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.9</version>
</dependency>