`
LiYunpeng
  • 浏览: 952569 次
  • 性别: 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**: 这是一个...

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

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

    关于附件上传文件名包含特殊字符的问题解决办法

    **实现思路**:在前端上传文件之前,通过正则表达式等方式对文件名进行校验,确保不含有特殊字符。这种方法简单易行,开发成本低。 **优点**: - 实现简单,只需对文件名进行简单的检查即可。 - 避免了后续一系列的...

    java调用json参数的webservice

    在Java中,这通常是通过将字符串参数直接传递给服务端方法来实现。然后,服务端代码将接收到的JSON字符串转换为JSON对象,以便从中提取所需的数据。 2. 使用诸如net.sf.json JSONObject类(一个流行的Java库,用于...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    JavaApplet与JavaScript

    ### JavaApplet与JavaScript #### 6.1 JavaApplet ##### 6.1.1 JavaApplet概述 **Applet 类层次结构:** JavaApplet 的基础是 `java.applet.Applet` 类,它是从 `java.awt.Panel` 继承而来的一个特殊的图形组件。...

    js调用java类的方法

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

    前端上传多文件,携带多参数,java接收(省去频繁写一一对应的参数)(csdn)————程序.pdf

    通过这种方式,前端可以方便地上传多个文件并携带其他参数,后端则可以通过Spring MVC的注解轻松地接收这些数据,避免了为每个参数单独编写接收代码的繁琐过程。这大大提高了代码的可读性和可维护性,也简化了前后端...

    multipartform-data 参数传递

    这种方式可以根据实际情况灵活处理不同的上传场景,例如只发送文本信息或同时上传文件和文本信息。此外,通过使用`multipart/form-data`编码类型,确保了文件数据能够在HTTP请求中被正确地传输到服务器端进行进一步...

Global site tag (gtag.js) - Google Analytics