`
JLK
  • 浏览: 235804 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

servlet读取xml格式的post数据

 
阅读更多

 

服务器端代码:

 

 

[java] view plaincopy
  1. rundata.getModuleInfo().setLayoutTemplate(null);  
  2.           
  3.         HttpServletRequest request = rundata.getRequest();  
  4.         HttpServletResponse response = rundata.getResponse();  
  5.           
  6.         PrintWriter printWriter = null;  
  7.         ServletInputStream sis = null;  
  8.           
  9.         String xmlData = null;  
  10.           
  11.         try {  
  12.             printWriter = response.getWriter();  
  13.             // 取HTTP请求流  
  14.             sis = request.getInputStream();  
  15.             // 取HTTP请求流长度  
  16.             int size = request.getContentLength();  
  17.             // 用于缓存每次读取的数据  
  18.             byte[] buffer = new byte[size];  
  19.             // 用于存放结果的数组  
  20.             byte[] xmldataByte = new byte[size];  
  21.             int count = 0;  
  22.             int rbyte = 0;  
  23.             // 循环读取  
  24.             while (count < size) {   
  25.                 // 每次实际读取长度存于rbyte中  
  26.                 rbyte = sis.read(buffer);   
  27.                 for(int i=0;i<rbyte;i++) {  
  28.                     xmldataByte[count + i] = buffer[i];  
  29.                 }  
  30.                 count += rbyte;  
  31.             }  
  32.               
  33.             xmlData = new String(xmldataByte, "UTF-8");  

 

 

 

 

客户端代码:

 

 

[java] view plaincopy
  1. HttpClient httpClient = new HttpClient();  
  2. String xmlData = getInput();  
  3. int xmlDataLength = xmlData.getBytes("UTF-8").length;  
  4. PostMethod method = new PostMethod(url);  
  5. method.setRequestBody(xmlData);  
  6. method.setRequestHeader("Content-type""text/xml; charset=UTF-8");  
  7. if (xmlDataLength < Integer.MAX_VALUE) {  
  8.     method.setRequestContentLength(xmlDataLength);  
  9. else {  
  10.     method.setRequestContentLength(EntityEnclosingMethod.CONTENT_LENGTH_CHUNKED);  
  11. }  
  12.       
  13. try {  
  14.     int statusCode = httpClient.executeMethod(method);  
  15.     System.out.println("返回码: " + statusCode);  
  16.     if(statusCode != HttpStatus.SC_OK) {  
  17.         return;  
  18.     }  
  19.     System.out.println("输出:");  
  20.     System.out.println(method.getResponseBodyAsString());  
  21. catch (IOException e) {  
  22.     e.printStackTrace();  
  23. finally {  
  24.     method.releaseConnection();  
  25. }   
分享到:
评论

相关推荐

    jquery+servlet展示XML树形结构

    在本例中,Servlet接收来自前端的Ajax请求,读取XML文件,可能进行一些处理(如过滤、排序),然后将处理后的XML数据返回给前端。Servlet通过`doGet`或`doPost`方法处理HTTP请求,使用`response.getWriter().print()...

    c# post发送到servlet

    注意,`getParameter`只适用于URL编码的查询字符串或表单数据,如果数据格式是JSON或XML,需要使用`request.getReader()`读取并解析。 8. **异常处理与错误反馈**: 在发送和接收过程中,可能遇到网络问题、格式...

    XML OVER HTTP的测试servlet

    这可能涉及到读取请求体,因为XML通常作为POST请求的一部分发送。 2. **处理XML**:解析XML数据,可以使用Java的DOM(Document Object Model)、SAX(Simple API for XML)或者StAX(Streaming API for XML)库。...

    Java Web应用开发 48 课堂案例-应用Servlet读取指定HTML表单数据.docx

    ### Java Web应用开发 48 课堂案例-应用Servlet读取指定HTML表单数据 #### 学习目标 本案例的主要学习目标是掌握如何利用Servlet技术读取HTML表单中的数据,并将这些数据以HTML列表的形式展示出来。通过实践操作,...

    Servlet利用SAX解析XML文档

    3. **获取XML文件**:Servlet可能从HTTP请求的POST或GET参数中接收XML数据,或者从服务器上的文件系统中读取XML文件。使用`HttpServletRequest`对象来获取XML数据。 4. **创建SAX解析器**:使用`SAXParserFactory`...

    dxServlet.java处理Http Post的表单请求xml

    本文将深入探讨 `dxServlet.java` 文件中涉及的核心概念和技术细节,帮助开发者更好地理解如何在 Java Servlet 中处理 HTTP POST 请求携带的 XML 数据。 #### 核心知识点 1. **Servlet 的基本概念与功能** 2. **...

    servlet读取数据库代码到jsp页面表格示例

    在这个项目中,数据库存储了要展示的数据,并通过SQL查询被Servlet读取。 4. **数据库连接**: 使用Java的JDBC(Java Database Connectivity)API,Servlet可以建立与MySQL的连接,执行SQL查询,如`SELECT`语句来...

    随记:flex发送XML到servlet

    在Servlet端,通常会用到HttpServlet类来接收请求,通过HttpServletRequest对象的getInputStream()方法读取XML数据。 在处理中文字符时,Flex客户端和Servlet都必须确保使用相同的字符编码,例如UTF-8。Flex中可以...

    使用Servlet+jQuery实现读取本地硬盘图片

    2. 图片展示:Servlet读取服务器上的图片文件并返回给前端,jQuery负责在页面上显示。 **源码分析** 在博文链接中,可能包含以下内容: 1. Servlet配置:`web.xml`文件中配置Servlet的映射路径。 2. Servlet代码:...

    Ajax与servlet后台交互,数据类型JSON

    **四、JSON数据格式** JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它采用键值对的形式,类似于JavaScript的对象,因此JavaScript与JSON的互换非常方便。 **五、Servlet返回JSON...

    超强过滤器彻底解决JSP-SERVLET中文参数GET-POST传递的问题(转)

    - 对于POST请求,由于在读取请求参数前可以设置编码,因此在Servlet中使用上述方法可以解决问题。 - 但是,如果需要同时处理GET和POST,以及避免每个Servlet都写相同的代码,那么创建一个全局Filter是最好的解决...

    原生servlet_CRUD

    原生Servlet CRUD是Java Web开发中的基础操作,主要用于创建、读取、更新和删除(Create, Read, Update, Delete)数据。在这个项目中,开发者直接使用了Servlet API进行实践,而不是依赖任何高级框架如Spring MVC。...

    通过web端转换excel为xml文件,可一次性转换多个xml

    总结来说,这个系统利用了Web技术和Java后端服务,结合Apache Tomcat的部署能力,实现了Excel到XML的批量转换,为用户提供了便捷的数据格式转换工具。这样的解决方案在数据分析、数据交换和自动化工作流中具有广泛的...

    servlet获取json的小例子

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本例子将详细介绍如何在Servlet中获取并处理JSON数据。 首先,我们需要引入处理JSON的库,最常用的...

    extjs+servlet+json简单应用

    ExtJS中的Ajax类提供了与服务器交互的能力,它支持发送GET和POST请求,以及处理JSON、XML等多种数据格式的响应。在本例中,ExtJS将作为前端,通过Ajax调用Servlet来获取或提交数据。 Servlet在Java Web应用中扮演着...

    servlet传参

    1. 初始化:Servlet 初始化时,会读取 web.xml 文件中的配置信息,并执行 init 方法。在这个阶段,Servlet 会获取 web.xml 文件中的预定义参数。 2. 服务:在 Servlet 初始化完成后,会进入服务阶段。在这个阶段,...

    java Servlet学习笔记

    在Servlet中,可以使用HttpServletRequest对象的getParameter()方法读取GET请求的参数,对于POST请求,需要使用getParameterValues()或getInputStream()来获取数据。 总之,Java Servlet技术是Java Web开发的重要...

    servlet程序设计引导

    Servlet提供了强大的I/O功能,可以读取客户端的输入数据并发送响应数据。这些操作通常通过`HttpServletRequest`和`HttpServletResponse`对象完成。 1. **读取客户端数据**: - 使用`HttpServletRequest`对象的`...

    servlet电子书籍 pdf格式

    - **数据源配置**: 通过在`web.xml`文件中配置数据源,可以方便地在Servlet中访问数据库。 - **MVC框架**: Model-View-Controller架构模式用于分离业务逻辑、数据管理和用户界面。 - **RequestDispatcher**: 用于...

    servlet 笔记

    2. **初始化**:Servlet容器调用init()方法对Servlet进行初始化,通常在这个阶段完成配置信息的读取等初始化工作。 3. **服务**:接下来Servlet容器将调用service()方法来处理客户端请求。在service()方法中,根据...

Global site tag (gtag.js) - Google Analytics