`
LiYunpeng
  • 浏览: 942817 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

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并通过流解析
分享到:
评论

相关推荐

    js&java DES加密互通

    JavaScript(JS)作为前端的主要脚本语言,而Java则广泛应用于后端服务,两者之间的数据交换往往需要进行加密处理以确保安全。本文将深入探讨如何在JavaScript和Java之间实现DES(Data Encryption Standard)加密的...

    java验证字符串是否符合json格式

    在Java编程中,验证字符串是否符合JSON(JavaScript Object Notation)格式是一项常见的任务,尤其是在进行前后端数据交互时。JSON是一种轻量级的数据交换格式,它允许数据以键值对的形式存储,易于人阅读和编写,...

    java调用shell向DataX传递参数,where条件,包含特殊字符

    本问题聚焦于如何通过Java调用shell脚本,向DataX传递参数,特别是包含特殊字符的where条件。在实际操作中,这可能会涉及到字符串转义、参数安全传递以及shell命令的构建等多个技术点。 首先,我们需要理解DataX的...

    java中解析json字符串

    本文将深入探讨如何在Java中解析JSON字符串,以满足后端处理前端传递的数据需求。 首先,理解JSON的基本结构至关重要。JSON格式通常包含键值对,可以是对象(用花括号 `{}` 包裹)或数组(用方括号 `[]` 包裹)。...

    JQuery&JAVA JSON互转

    这个文件很可能包含了自定义的JSON处理工具类,可能包含如`toJson()`和`fromJson()`这样的方法,用于将Java对象转换成JSON字符串以及将JSON字符串反序列化为Java对象。 5. **jquery.json-2.3.min.js**: 这是一个...

    JSP中java代码与js之间的传值

    - Java端可以使用JSON库(如Jackson或Gson)将Java对象转换为JSON字符串,然后通过上述方式传递给JavaScript。 - JavaScript可以使用JSON.parse()解析接收到的JSON字符串,将其转换回JavaScript对象。 4. **Web...

    url参数中传递特殊字符处理方法

    URL参数中传递特殊字符处理方法 在进行 URL 参数传递时,需要处理特殊字符的编码问题。因为有些符号在 URL 中是不能直接传递的,需要使用他们的编码。以下是常见的 URL 特殊符号及编码: 1. + 号表示空格,编码为 ...

    java生成二维码以及二维码转base64字符串给前端

    这个项目提供了一种方便的方式,通过Maven依赖来实现这些功能,并且包括了一个工具类,使得操作更加简单易用。接下来,我们将详细讨论这个主题。 首先,我们来看如何在Java中生成二维码。二维码是一种二维条形码,...

    js 自定义trim去除字符串左右杂质

    这是因为 JavaScript 中的正则表达式只能以字符串形式传递,而不能直接使用正则表达式对象。因此,我们需要使用 eval() 函数来将字符串形式的表达式转换为正则表达式。 自定义 trim() 方法可以帮助我们去除字符串...

    js处理java后台传过来的date对象并转换成指定格式的字符串

    js处理java后台传过来的date对象并转换成指定格式的字符串,亲测可用

    C#+读取文本文件+字符编码

    以`StreamReader`为例,它主要用于读取字符流,适合处理文本文件。以下是一个简单的示例: ```csharp using System.IO; string filePath = @"C:\path\to\your\file.txt"; using (StreamReader reader = new ...

    上传文件fileupload+解决enctype= multipart/form-data无法传递其他参数

    5. **传递其他参数**:在使用Commons Fileupload时,可以通过创建自定义的RequestContext或使用Servlet容器提供的HttpServletRequest对象,将额外的参数以键值对的形式添加到请求中。这些参数会在解析请求时被识别并...

    过滤出java中的sql,js中的javascript

    对于JavaScript,现代Web开发通常采用模块化和组件化的方式,如使用Webpack或Rollup进行打包,这时候JavaScript代码可能分散在多个`.js`文件中,需要遍历整个项目结构来查找。 总之,“过滤出Java中的SQL,js中的...

    js调用java类的方法

    Java端生成一个包含回调函数的JSON字符串,JS端通过预先定义好的回调函数处理返回的数据。 ```java // Java 示例 public void doGet(HttpServletRequest request, HttpServletResponse response) { String ...

    kettle常见控件(输入、输出,字段选择、设置变量、记录集连接、值映射、字符串替换、js、Java)的使用案例

    - **设置变量**:在工作流中,可以设置和使用变量以传递信息。例如,动态生成的SQL语句或者增量抽取的边界值可以存储为变量,便于后续步骤引用。 5. 记录集连接: - **Join Rows (cartesian product)**:此步骤...

    url传递的参数值中包含&时,url自动截断问题的解决方法

    在做一个公告浏览功能时,只要通过url传递的某参数值中包含 & 或 ,就会出现问题–该变量的值无法显示。 问题定位结果: 遇到&时,该参数的值会自动截断,导致参数值传递有误。 二、问题的解决 java代码中做如下...

    jsonjava 源码和测试文件

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。Java中的`jsonjava`库是由Douglas Crockford开发的,它提供了一个简单的API来解析、生成和操作JSON对象。这个...

    Java使用JSON传递字符串注意事项解析

    本文将详细解析在Java中使用JSON传递字符串时需要注意的一些关键点,这些注意事项可以帮助避免不必要的错误,提高代码的稳定性和可维护性。 一、JSON与字符串的关系 JSON(JavaScript Object Notation)是一种基于...

    java+js基于RSA解密解密

    为了在Java和JavaScript之间传递加密数据,你需要将Java加密后的结果(通常为Base64编码的字节数组)作为字符串传递。在JavaScript端,可以解码这个字符串,然后用私钥进行解密。 6. **RSA.html**: 这个HTML文件...

    java实现JSON所需的jar、JSON文件读取、JSON文件持续写入【JSON.jar】+【JSON文件例子】

    在实际开发中,还需要注意错误处理和资源管理,确保文件流在操作完成后正确关闭,避免数据丢失或文件损坏。此外,对于大量数据的写入,可能需要考虑性能优化,如批量写入或使用缓冲区。 总的来说,这个场景涉及到了...

Global site tag (gtag.js) - Google Analytics