测试发送xml数据
创建User
package com.po;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class User {
private String userName;
private String passWord;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
@Override
public String toString() {
return "User [userName=" + userName + ", passWord=" + passWord + "]";
}
}
创建UserController
package com.controller;
import java.io.InputStream;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.po.User;
@Controller
public class UserController {
@RequestMapping(value="/sendxml",method=RequestMethod.POST)
public void sendxml(@RequestBody User user) {
System.out.println(user);
System.out.println("接收xml数据成功");
}
@RequestMapping(value="/readxml",method=RequestMethod.POST)
@ResponseBody
public User readXml() throws JAXBException {
JAXBContext context = JAXBContext.newInstance(User.class);
Unmarshaller unmar = context.createUnmarshaller();
InputStream is = this.getClass().getResourceAsStream("/User.xml");
User user=(User) unmar.unmarshal(is);
return user;
}
}
创建sendxml.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>发送xml格式数据</title>
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
sendxml();
});
function sendxml(){
var xmlData = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><user><userName>张三</userName><passWord>zkddd522</passWord></user>";
$.ajax("${pageContext.request.contextPath}/sendxml",// 发送请求的URL字符串。
{
type : "POST", // 请求方式 POST或GET
contentType:"application/xml", // 发送信息至服务器时的内容编码类型
// 发送到服务器的数据。
data: xmlData,
async: true , // 默认设置下,所有请求均为异步请求。如果设置为false,则发送同步请求
});
}
</script>
</head>
<body>
</body>
</html>
启动Tomcat访问sendxml.jsp
测试返回xml数据到页面
src下创建User.xml
<?xml version="1.0" encoding="UTF-8"?>
<user>
<userName>baixue</userName>
<passWord>ekd52</passWord>
</user>
创建readxml.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>接收xml格式的数据</title>
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
readxml();
});
function readxml(){
$.ajax("${pageContext.request.contextPath}/readxml",// 发送请求的URL字符串。
{
dataType : "text", // 预期服务器返回的数据类型。
type : "POST", // 请求方式 POST或GET
async: true , // 默认设置下,所有请求均为异步请求。如果设置为false,则发送同步请求
// 请求成功后的回调函数。
success :function(xml){
// 获得xml数据的id,name,author
var userName = $("userName", xml).text();
var passWord = $("passWord", xml).text();
$("#userName").html(userName);
$("#passWord").html(passWord);
},
// 请求出错时调用的函数
error:function(){
alert("数据接收失败");
}
});
}
</script>
</head>
<body>
用户名:<span id="userName"></span><br>
密码:<span id="passWord"></span>
</body>
</html>
启动Tomcat访问readxml.jsp