首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2013-11-18 
JS & JAVA通过流的方式传递文件或字符首先是前端JS代码 类似如下function callByXMLHttpRequest(url) {if

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里面介绍的,回调相应的状态判断等等
http://www.w3school.com.cn/xml/xml_http.asp

如果想传递文件,则在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并通过流解析

热点排行
Bad Request.