`
JLK
  • 浏览: 232652 次
  • 性别: 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. }   
分享到:
评论

相关推荐

    DWR.xml配置文件说明书(含源码)

    任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"&gt; 整个配置文件的...

    OPhone应用开发权威指南(黄晓庆)

    9.4 设计C/S通信数据格式 392 9.4.1 对象序列化 396 9.4.2 使用XML传输对象 401 9.5 小结 409 第10章 高级通信技术 410 10.1 电话 410 10.1.1 电话呼叫 410 10.1.2 监听电话状态 412 10.1.3 查询电话属性 416 10.1.4...

    java 面试题 总结

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...

    外文翻译 stus MVC

    The file struts-config.xml instructs ActionServlet on how to use the extended classes. There are several advantages to this approach: • The entire logical flow of the application is in a ...

    超级有影响力霸气的Java面试题大全文档

     forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...

    Java面试宝典2020修订版V1.0.1.doc

    17、Java怎么读取文件和写入文件 65 18、java怎么复制文件 68 19、用JDBC如何调用存储过程 69 20、JDBC中的PreparedStatement相比Statement的好处 71 21、写一个用jdbc连接实例。 71 22、ArrayList和Vector的区别? ...

    jpivot学习总结.doc

    memberReaderClass 设定一个成员读取器,默认情况下 Hierarchy 都是从关系型数据库里读取的,如果你的数据不在 RDBMS 里面的话,你可以通过自定义一个 member reader 来表现一个 Hierarchy 。 3.5. Level 级别 , ...

    Ajax基础教程(扫描版)

    3.2.2 使用json向服务器发送数据 64 3.3 小结 70 第4章 实现基本ajax技术 71 4.1 完成验证 71 4.2 读取响应首部 75 4.3 动态加载列表框 79 4.4 创建自动刷新页面 85 4.5 显示进度条 90 4.6 创建工具提示 95 ...

    单点登录源码

    [阿里云OSS](project-bootstrap/aliyun-oss-post-callback.png) &gt; zheng-api 服务网关,对外暴露统一规范的接口和包装响应结果,包括各个子系统的交互接口、对外开放接口、开发加密接口、接口文档等服务,可在该...

    Java学习笔记-个人整理的

    {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{subsection.1.4.2} {1.4.3}\texttt {char}}{24...

    Google Android SDK开发范例大全(第3版) 1/5

    Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google...

    Google Android SDK开发范例大全(第3版) 4/5

    Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google...

    Google Android SDK开发范例大全(第3版) 3/5

    Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google...

    Google Android SDK开发范例大全(第3版) 5/5

    Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google...

    Spring Security 中文教程.pdf

    2.2.1. 配置web.xml 2.2.2. 最小 &lt;http&gt; 配置 2.2.2.1. auto-config 包含了什么? 2.2.2.2. 表单和基本登录选项 2.2.3. 使用其他认证提供器 2.2.3.1. 添加一个密码编码器 2.3. 高级web特性 2.3.1. ...

    SpringSecurity 3.0.1.RELEASE.CHM

    2.2.1. 配置web.xml 2.2.2. 最小 配置 2.2.2.1. auto-config包含了什么? 2.2.2.2. 表单和基本登录选项 2.2.3. 使用其他认证提供器 2.2.3.1. 添加一个密码编码器 2.3. 高级web特性 2.3.1. Remember-Me认证 ...

    Spring Security-3.0.1中文官方文档(翻译版)

    2.2.1. 配置web.xml 2.2.2. 最小&lt;http&gt; 配置 2.2.2.1. auto-config 包含了什么? 2.2.2.2. 表单和基本登录选项 2.2.3. 使用其他认证提供器 2.2.3.1. 添加一个密码编码器 2.3. 高级web 特性 2.3.1. ...

Global site tag (gtag.js) - Google Analytics