- 浏览: 387696 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (215)
- ubuntu (27)
- 虚拟机 (13)
- 数据库 (29)
- JAVA (40)
- 搜索 (23)
- 开发工具 (2)
- 产品 (2)
- 工具 (1)
- 应用服务器 (5)
- linux (17)
- log (1)
- 多线程 (3)
- 异常 (1)
- shell (6)
- 12306 ;互联网 (1)
- 持续集成&Hudson (4)
- js (1)
- JAVA OR-Map (1)
- 漏洞 (1)
- svn (1)
- MAVEN (3)
- 架构 (1)
- windows (1)
- json (1)
- web (3)
- jenkins (2)
- iptables (2)
- JAVA ssh (0)
- 项目管理 (1)
- tomcat (1)
- 安全 (1)
- 数据库 mysql (1)
- 性能 (1)
最新评论
-
sbwfgihc:
怎么用的啊,
<转>mysql 树查询语句 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
<转>Solr Suggest实现搜索智能提示 -
songsove:
请问您qq多少
solr 对拼音搜索和拼音首字母搜索的支持 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
<转>Solr Suggest实现搜索智能提示 -
norain1988:
这样就可以实现相关搜索了吗
solr 百度相关搜索类似功能的实现
Get方法发送数据
在Get类中
- HttpURLConnection conn=(HttpURLConnection)new URL(path).openConnection();
- conn.setConnectTimeout(15000);
- conn.setRequestMethod("GET");
测试方法
- new Get("http://XXXXX/WebService/index/indexindex.action?id=1&name="+URLEncoder.encode("您好","utf-8")).setGetRequest()
服务器端接收数据
- HttpServletRequest request=ServletActionContext.getRequest();
- System.out.println(id);
- System.out.println(new String(name.getBytes("ISO-8859-1"),"utf-8"));
Post方法发送数据
- byte [] entity=("id=1&name="+URLEncoder.encode("您好","utf-8")).getBytes();
- HttpURLConnection conn=(HttpURLConnection)new URL(path).openConnection();
- conn.setConnectTimeout(5000);
- conn.setRequestMethod("POST");
- conn.setDoOutput(true);
- conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");//用于指导实体数据的内容类型
- conn.setRequestProperty("Content-Length",String.valueOf(entity.length));//entity为要传输的数据格式为 title=hello&time=20//可以对该数据编码
- OutputStream outStream=conn.getOutputStream();
- outStream.write(entity);
测试方法
服务器端接收数据
- HttpServletRequest request=ServletActionContext.getRequest();
- System.out.println(id);
- request.setCharacterEncoding("utf-8");
- System.out.println(name);
向服务器端传输xml数据
- byte [] entity="<strings><id>1</id><name>hello</name></strings>".getBytes();
- HttpURLConnection conn=(HttpURLConnection)new URL(path).openConnection();
- conn.setConnectTimeout(5000);
- conn.setRequestMethod("POST");
- conn.setDoOutput(true);
- conn.setRequestProperty("Content-Type","text/xml; charset=UTF-8");//用于指导实体数据的内容类型
- conn.setRequestProperty("Content-Length",String.valueOf(entity.length));
- OutputStream outStream=conn.getOutputStream();
- outStream.write(entity);
服务器端接收数据
- HttpServletRequest request=ServletActionContext.getRequest();
- InputStream is=request.getInputStream();
Notice:Get方式发送数据一般小于2K,如果大于2K,最好用Post方式
package com.hrtx.util; import java.io.ByteArrayOutputStream; import java.io.InputStream; public class StreamTool { /** * 从输入流中读取数据 * @param inStream * @return * @throws Exception */ public static byte[] readInputStream(InputStream inStream) throws Exception{ ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while( (len = inStream.read(buffer)) !=-1 ){ outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray();//网页的二进制数据 outStream.close(); inStream.close(); return data; } }
public static void testAdd() throws IOException{
String str = "http://localhost:8080/search/externalAccessServlet?";
// 正文,正文内容其实跟get的URL中'?'后的参数字符串一致
// String content = "firstname=" + URLEncoder.encode("一个大肥人", "utf-8");
str = str+"cmd="+URLEncoder.encode("add", "utf-8");
URL url = new URL(str);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// http正文内,因此需要设为true
conn.setDoInput(true);
conn.setDoOutput(true);
// Post 请求不能使用缓存
conn.setUseCaches(false);
conn.setRequestMethod("POST");// 提交模式
// 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
// 意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode
// 进行编码
// conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Type","text/xml; charset=UTF-8");
OutputStream os = conn.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
ServiceConfigPOJO pojo1 = new ServiceConfigPOJO("zzw",OpType.read, "192.168.32.133:13710");
ServiceConfigPOJO pojo2 = new ServiceConfigPOJO("zzw",OpType.writer, "192.168.32.133:13710");
List<ServiceConfigPOJO> list = new ArrayList<ServiceConfigPOJO>();
list.add(pojo1);
list.add(pojo2);
oos.writeObject(list);
oos.flush();
oos.close();
// 要注意的是connection.getOutputStream会隐含的进行connect。
BufferedInputStream ois = new BufferedInputStream(conn.getInputStream());
byte[] b = new byte[1024];
ois.read(b);
System.out.println(new String(b,"UTF-8"));
}
public static void testUpdate() throws Exception{
String str = "http://localhost:8080/search/externalAccessServlet?";
// 正文,正文内容其实跟get的URL中'?'后的参数字符串一致
// String content = "firstname=" + URLEncoder.encode("一个大肥人", "utf-8");
str = str+"cmd="+URLEncoder.encode("update", "utf-8");
URL url = new URL(str);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// http正文内,因此需要设为true
conn.setDoInput(true);
conn.setDoOutput(true);
// Post 请求不能使用缓存
conn.setUseCaches(false);
conn.setRequestMethod("POST");// 提交模式
// 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
// 意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode
// 进行编码
// conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Type","text/xml; charset=UTF-8");
OutputStream os = conn.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
ServiceConfigPOJO pojo1 = new ServiceConfigPOJO("zzw",OpType.read, "192.168.32.130:13710");
oos.writeObject(pojo1);
oos.flush();
oos.close();
// 要注意的是connection.getOutputStream会隐含的进行connect。
BufferedInputStream ois = new BufferedInputStream(conn.getInputStream());
InputStream is = conn.getInputStream();
byte[] b = readInputStream(is);
System.out.println(new String(b,"UTF-8"));
//
// BufferedInputStream ois = new BufferedInputStream(conn.getInputStream());
// ObjectInputStream ss = new ObjectInputStream(conn.getInputStream());
// Object objct = ss.readObject();
// System.out.println((Boolean)objct);
}
发表评论
-
<转>Hessian入门(与Spring集成)
2015-01-20 10:31 4417原链接:http://blog.csdn.net/chenwe ... -
<转>如何编程实现 2 + 2 = 5?
2014-10-16 11:00 808原链接:http://codeway.co/%E5%A6%82 ... -
<转>利用位操作来进行状态操作
2014-07-15 11:00 698print?<SPAN style="BACK ... -
java命令
2014-04-23 17:17 814jps -v 查看所有的jvm进程,包括进程ID,进程启动的路 ... -
<转>给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
2014-03-28 14:14 447原链接:http://www.blogjava.net/juh ... -
<转>JVM调优总结 -Xms -Xmx -Xmn -Xss
2014-01-21 21:21 872原链接:http://unixboy.iteye.com/bl ... -
<转>Eclipse 常用设置
2013-12-23 16:26 705原链:http://blog.csdn.net/appleca ... -
tomcat各版本信息
2013-12-23 10:02 805Apache官方对各版本的解释:http://tomcat ... -
<转> 如何获取用户的真实IP
2013-12-23 09:40 692问题引出: 在JSP里,获取客户端的IP地址的方法是:re ... -
从SVN导出指定版本号之间修改的文件
2013-12-20 16:55 549转:http://www.kuqin.com/manageto ... -
用JAVA调用ssh命令
2013-12-09 15:21 1927原链:http://blog.csdn.net/f ... -
java执行shell命令 outputStream缓冲区阻塞
2013-11-27 15:49 1726http://bbs.csdn.net/topics/1101 ... -
java有效的IP正则表达式
2013-11-06 20:46 856public static boolean isboolIp ... -
<转>JSCH 如何实现在远程机器上执行linux命令
2013-08-23 09:34 1412原链:http://blog.csdn.net/hongbin ... -
<转>session 之session混乱解决方法
2013-08-07 21:23 1763转:http://blog.csdn.net/wmj2003/ ... -
Java JSON技术框架选型与实例
2013-08-05 15:12 796JSON JSON英文全称为JavaScript Obje ... -
JVM内存结构系列:HotSpot内存结构最清晰
2013-07-29 11:37 798SUN的jvm内存池被划分为以下几个部分:Eden Spa ... -
<转>探究两大Java内存溢出类型
2013-07-29 10:31 758你知道如何解决Java内 ... -
<转>list,set,map,数组间的相互转换
2013-07-25 12:30 980原链:http://teamojiao.iteye.com/ ... -
Eclipse调试Bug的七种常用技巧
2013-07-04 10:24 822记得刚刚毕业的时候,自己连断点也不会打,当时还在用JCre ...
相关推荐
下面我们将深入探讨HttpURLConnection的get、post方法以及图片加载的相关知识点。 1. HttpURLConnection GET请求: GET请求是最基础的HTTP请求方法,常用于获取服务器上的资源。使用HttpURLConnection进行GET请求...
本篇文章主要聚焦于使用`HttpURLConnection`类来发送POST和GET请求,这是Android SDK内置的一种HTTP请求方法,相较于第三方库如OkHttp或Volley,使用`HttpURLConnection`更轻量级,易于理解和控制。 首先,我们先...
本文将详细讲解如何在Android端使用GET和POST方法提交数据到服务器,并结合传智播客张泽华Android视频54-57中的代码示例进行解析。 一、GET方法 GET方法是最简单的HTTP请求方式,常用于获取服务器上的资源。在...
通常,我们使用HTTP协议的两种主要方法:POST和GET来传输数据。本文将详细讲解如何在Android中实现这两种方法,并讨论使用普通HTTP协议和Android内置的HttpClient库的区别。 1. **POST方法**: - POST请求常用于...
JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...
POST请求通常用于向服务器发送数据,设置请求方法为"POST",并通过`setDoOutput(true)`开启输出流,然后使用`DataOutputStream`写入数据。不过,这已经超出了标题和描述的范围。 总结起来,Android开发者在使用`...
这个Demo主要展示了如何使用HTTPUrlConnection进行GET和POST请求,以及图片的下载操作。下面将详细讲解这些知识点。 首先,我们来看GET请求。GET是HTTP协议中最常见的请求方法,通常用于获取服务器上的资源。在...
在`HttpURLConnectionTest_Get_Post`这个项目中,可能包含了示例代码,演示了如何使用`HttpURLConnection`进行GET和POST操作。代码可能包括了如何处理请求头(如设置Content-Type、Accept等)、如何处理重定向、如何...
2. **设置请求方法**:默认情况下,`HttpURLConnection`会使用GET方法,但我们需要POST,所以需要调用`setRequestMethod("POST")`。 3. **允许输出**:POST请求需要向服务器发送数据,因此需要调用`setDoOutput...
由于默认请求方法是GET,我们需要设置为POST: ```java connection.setRequestMethod("POST"); ``` ### 3. 设置连接属性 在POST请求中,我们可能需要设置一些连接属性,例如`Content-Type`来表明发送的数据格式:...
`sendPostRequest`方法通常会创建一个`HttpURLConnection`实例,设置请求方法为POST,打开连接,然后通过`setDoOutput(true)`允许写入数据。接着,使用`DataOutputStream`写入请求参数,最后读取服务器响应。 在`...
在Android开发中,Java的HttpURLConnection是用于网络通信的一个基础组件,它提供了HTTP协议的低级别接口,可以用来执行GET、POST以及其他HTTP方法。在这个场景下,我们将详细探讨如何使用Java原生的...
GET和POST是HTTP协议中最常见的两种请求方法,用于向Web服务器发送数据。本文将详细介绍如何在Android中使用GET和POST方式来提交参数给Web应用。 首先,GET方法是HTTP中最简单的请求方式,常用于获取资源。在...
总结来说,Android中的HttpUrlConnection是处理网络请求的重要工具,它可以方便地进行JSON数据的POST和GET操作。通过理解HTTP请求方法、设置请求头、处理响应以及解析JSON,开发者可以有效地与服务器交换数据。在...
首先,GET和POST的主要区别在于它们的使用场景和数据传输方式。GET是幂等的,意味着多次执行同一个GET请求会得到相同的结果,它通常用于获取资源,且数据会附加到URL中,可见且有限制(一般不超过2048个字符)。POST...
小编刚刚用HttpURLConnection做了一个android的APP,不小心踩到了几个坑,总结下最常用的就通过HttpURLConnection来POST提交JSON数据与GET请求JSON数据。此外就是下载图片,下载图片分为显示进度与不显示进度两种。...
这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...
在Android中,实现GET和POST请求,我们可以使用`HttpURLConnection`、`HttpClient`(已废弃但仍然可用)或者第三方库如Retrofit、Volley等。以下是一个基于HttpClient的简单示例: ```java // 创建HttpClient实例 ...
在Android开发中,与服务器进行数据交互是必不可少的步骤,主要通过HTTP协议的GET和POST方法来实现。本文将深入探讨这两种方法以及如何在Android后台实现它们。 首先,GET和POST是HTTP协议中最常见的两种请求方法。...