JS & JAVA通过流的方式传递文件或字符

首先是前端

JS代码 类似如下

function callByXMLHttpRequest(url) {
if (window.XMLHttpRequest){
req = new XMLHttpRequest();
}
else if (window.ActiveXObject){
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("Post",url,true);
req.onreadystatechange = callback;

var xmlStr =
"<xml></xml>";
req.send(xmlStr);
}

function callback(data) {
if(data.currentTarget.readyState == "4") {
if(data.currentTarget.status == "200") {
resolveXML($.parseXML(data.currentTarget.responseText));
} else {
alert("网络不稳定,请稍后再试!");
}
}
}


这里面使用了XMLHttpRequest
会通过异步方式向后台请求request,回调函数内,通过data获取的具体参数,可以查看W3CSchool里面介绍的,回调相应的状态判断等等
[url]http://www.w3school.com.cn/xml/xml_http.asp[/url]

如果想传递文件,则在req.send中传递文件的指向,具体要参看HTML5中的FormData了

而后台Java接受代码如下

public static Map<String, String> parseXml(HttpServletRequest request) throws Exception {

// 将解析结果存储在HashMap中
Map<String, String> map = new HashMap<String, String>();

// 从request中取得输入流
InputStream inputStream = request.getInputStream();
// 读取输入流
SAXReader reader = new SAXReader();
Document document = reader.read(inputStream);
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的所有子节点
List<Element> elementList = root.elements();

// 遍历所有子节点
for (Element e : elementList) {
map.put(e.getName(), e.getText());
}

// 释放资源
inputStream.close();
inputStream = null;

return map;
}

获取XML并通过流解析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值