jsp-android使用http

22

先说两种客户端发送http到服务端、然后再说服务端如何处理

客户端

首先客户端有两种方式可以发送http请求
当然还有其他方式,这里只讨论这两种方式:

doget方式

客户端中先使用“url?name1=value1&&name2=value2&&....”来new出HttpGet的对象
使用HttpClient的对象:deafultHttpClient来发送HttpGet的对象到服务端、同时将会获得服务器返回的HttpResponse对象、
接着HttpResponse对象调用getEntity()来获取服务端发送过来的信息

dopost方式

客户端先使用URL来new出HttpPost的对象
接着使用NameValuePair来保存要传递的Post的参数
可以使用集合框架、例如new一个List的对象params、并使用其add(new BasicNameValuePair("name","value"))方法来将数据保存起来、

此时还不能直接发送、要将params放到HttpPost的对象中才行、然而List类型的params并不能直接被放置到HttpPost

需要转换成另一种类型的数据:HttpEntity、在转换的同时还可以设置一下编码:

HttpEntity httpEntity=new UrlEncodedFormEntity("params","GB2312");

将数据参数放置到HttpPost中:

httpPost.setEntity(httpEntity);

使用HttpClient的对象:deafultHttpClient来发送HttpPost的对象到服务端、同时将会获得HttpResponse对象、

接着HttpResponse对象调用getEntity()来获取服务端发送过来的信息

服务端

服务端接收数据比较简单
首先设置下请求编码防止中文乱码
然后使用request对象来获取参数就行了

String username=request.getParameter("name")