`
kenshinlk
  • 浏览: 118310 次
  • 性别: Icon_minigender_1
  • 来自: 广东.佛山.南海
社区版块
存档分类
最新评论

使用HttpURLConnection将字符流发送到servlet

阅读更多

使用HttpURLConnection将字符流发送到servlet
此功能将字符串以流的形式发送给一个servlet.(ps:可用于ajax跨域访问)

代码如下:

java 代码
  1. public String postStringToUrl(String Str, String urlStr){   
  2.   BufferedWriter bWriter = null;   
  3.   HttpURLConnection urlConn = null;   
  4.   String message = Str;   
  5.   String target = urlStr;   
  6.   String sCurrentLine = "";   
  7.   String sTotalString = "";   
  8.   int res = 0;   
  9.   try{   
  10.    byte[] byteBuffer = message.getBytes("GB2312");   
  11.    URL httpurl = new URL(target);   
  12.    urlConn = (HttpURLConnection)httpurl.openConnection();   
  13.    urlConn.setRequestProperty("Content-Type","application/octet-stream");   
  14.    urlConn.setRequestProperty("Content-length""" + byteBuffer.length);   
  15.    urlConn.setRequestProperty("pure-data""yes");   
  16.    urlConn.setRequestProperty("Connection","Keep-Alive");   
  17.       
  18.    urlConn.setDoOutput(true);   
  19.    OutputStream out = urlConn.getOutputStream();   
  20.       
  21.    try{   
  22.     out.write(byteBuffer);   
  23.    }   
  24.    finally{   
  25.     out.flush();   
  26.     out.close();   
  27.     message = null;   
  28.     target = null;   
  29.    }   
  30.     //url请求返回code值   
  31.    res = urlConn.getResponseCode();   
  32.    if (res == 200) {   
  33.     java.io.InputStream is = urlConn.getInputStream();   
  34.     BufferedReader reader = new BufferedReader(   
  35.       new InputStreamReader(is));   
  36.     while ((sCurrentLine = reader.readLine()) != null)   
  37.      if (sCurrentLine.length() > 0)   
  38.       sTotalString = sTotalString + sCurrentLine.trim();   
  39.     String tmpStr = new String(sTotalString.getBytes("GB2312"));   
  40.     sTotalString = tmpStr;   
  41.    } else {   
  42.     sTotalString = "远程服务器连接失败,错误代码:"+res;    
  43.   
  44.    }   
  45.   
  46.    if (bWriter != null)   
  47.     bWriter.close();   
  48.        
  49.   }   
  50.   catch(Exception e){   
  51.    sTotalString = "连接服务器失败.";   
  52.    e.printStackTrace();   
  53.   }   
  54.   return sTotalString;   
  55.  }  
分享到:
评论

相关推荐

    Java通过HttpURLConnection与servlet通信

    - 在这个例子中,servlet使用了`ObjectInputStream`从请求中读取序列化对象。这是一种常见的数据交换方式,特别是当需要传递复杂对象时。客户端可以通过`ObjectOutputStream`将对象序列化后写入HTTP请求体,服务器...

    安卓+servlet上传下载图片

    - **HTTP请求**:使用HttpURLConnection或OkHttp库发送POST请求,将文件作为二进制数据附在请求体中。对于文字,可以将其转换为字符串并放在请求参数里。 - **进度显示**:为了提供用户体验,可以在上传过程中显示...

    Android与servlet交互

    首先,理解Android与Servlet交互的基本原理:Android客户端通过HTTP或HTTPS协议发送网络请求到Web服务器,服务器上的Servlet接收到请求后进行业务逻辑处理,再将处理结果以HTTP响应的形式返回给Android客户端。...

    Servlet简单应用示例

    例如,将一个User对象转换为Json字符串,然后写入到HttpServletResponse的输出流中。 5. **HttpURLConnection使用**:在某些情况下,Servlet可能会作为客户端,通过HttpURLConnection向其他Web服务发起请求。这可以...

    Servlet爬虫下载器.rar

    例如,可以使用FileOutputStream将接收到的字节流写入到指定的文件中。 5. **具体实现流程**: - 客户端通过HTTP请求发送资源链接和文件名到Servlet。 - Servlet解析请求参数,使用Java反射创建爬虫类实例。 - ...

    android-servlet-json-交互

    这通常通过HttpServletResponse对象完成,设置合适的Content-Type为"application/json",然后使用getOutputStream或getWriter方法将JSON字符串写入响应流。 Android客户端接收到服务器的响应后,需要解析JSON数据。...

    java web servlet服务后端框架

    例如,我们可以使用`ObjectMapper.readTree()`方法将JSON字符串转化为JsonNode对象,然后通过遍历节点进行数据提取;相反,`ObjectMapper.writeValueAsString()`可以将Java对象转换为JSON字符串。 接下来,我们讨论...

    java实现利用HTTP基于servlet上传文件至服务器[参考].pdf

    - 将这个字符串写入到`DataOutputStream`,然后读取文件内容并写入到输出流。 - 最后,添加一个结束标志,表示请求体的结束。 5. **发送数据并接收响应**: - 调用`flush()`方法确保所有数据都已写入输出流。 -...

    630.628.JAVA基础教程_IO流与网络编程-URL网络编程实现Tomcat服务端数(630).rar

    以下是一个简单的示例,演示如何使用Java的IO流和URL网络编程发送GET请求到Tomcat服务器: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import...

    使用java请求json接口数据

    5. **解析JSON**:接收到的响应通常是JSON格式的字符串,使用JSON库将其解析成Java对象,便于后续处理。 6. **关闭连接**:完成操作后,记得关闭连接以释放资源。 在提供的压缩文件`data-request`中,可能包含示例...

    android网络编程之http发送/请求服务

    5. 发送请求:对于POST请求,需写入请求体数据,使用`connection.getOutputStream()`获取输出流并写入数据。 6. 获取响应:调用`connection.getInputStream()`获取输入流,读取服务器返回的数据。 7. 关闭连接:使用...

    andorid post数据到自己写的服务器

    在Android开发中,有时我们需要将数据,如文件或者表单数据,从客户端(手机应用)发送到自定义的服务器端进行处理。这个过程通常涉及到HTTP请求的POST方法,因为POST可以携带大量数据,包括文件。在这个场景下,...

    android上传图片至服务器转整理.pdf

    - 使用`HttpURLConnection`或`AsyncTask`进行网络请求:Android客户端通常通过网络API(如`HttpURLConnection`或第三方库如Volley、Retrofit等)来发起HTTP请求,将图片文件上传到服务器。 - 图片文件读取:在...

    服务器接收

    将待发送的消息编码为UTF-8格式,通过输出流发送到服务器。 5. **接收服务器响应**: ```java InputStream is = conn.getInputStream(); System.out.println(is.available()); ``` 通过输入流获取服务器返回...

    Tomcat+MySQL为自己的APP打造服务器(4)完结篇Demo

    Android客户端会将数据序列化为JSON字符串,发送到服务器,服务器再将数据库结果转换为JSON并返回给客户端。 在实际开发中,我们还需要考虑错误处理、日志记录、性能优化等方面。例如,使用异步处理网络请求以避免...

    客户端GET、POST上传数据

    在Android前端开发中,我们通常使用`HttpURLConnection`或第三方库如`OkHttp`来实现POST请求,将数据以键值对形式封装到请求体中发送。 处理服务器乱码问题是一个常见的挑战,尤其在涉及中文字符时。在GET请求中,...

    android客户端向java服务器端上传文件.zip

    以下是一个基本的使用HttpURLConnection的示例: ```java URL url = new URL("http://yourserver.com/upload"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST...

    前端笔试面试题

    1. 流的概念:输入流、输出流,字节流与字符流的区别。 2. 文件操作:读写文件,以及BufferedReader和FileWriter等类的使用。 3. 转换流:InputStreamReader与OutputStreamWriter的作用,以及编码与解码。 五、...

    java 批量上传图片

    - HTTP客户端库:如Apache HttpClient或Java内置的`java.net.HttpURLConnection`,用于将图片数据发送到服务器。 - RESTful API:多数情况下,服务器端会有对应的REST接口接收图片,使用HTTP的POST或PUT方法进行...

    上传图片到服务器

    本文将详细介绍如何在客户端使用Eclipse开发的Android程序与服务器端使用MyEclipse开发的环境之间实现图片上传功能。 首先,我们需要理解客户端部分,即Android应用的开发。Eclipse是Android开发的经典IDE,它提供...

Global site tag (gtag.js) - Google Analytics