先说两种客户端发送http到服务端、然后再说服务端如何处理
首先客户端有两种方式可以发送http请求(当然还有其他方式,这里只讨论这两种方式):
1.1、doGet方式
客户端中先使用“url?name1=value1&&name2=value2&&....”来new出HttpGet的对象
使用HttpClient的对象:deafultHttpClient来发送HttpGet的对象到服务端、同时将会获得HttpResponse对象、
接着HttpResponse对象调用getEntity()来获取服务端发送过来的信息
1.2、doPost方式
客户端先使用URL来new出HttpPost的对象
接着使用NameValuePair来保存要传递的Post的参数、
可以使用集合框架、例如new一个List<NameValuePair>的对象params、并使用其add(new BasicNameValuePair("name","value"))方法来将数据保存起来、
此时还不能直接发送、要将params放到HttpPost的对象中才行、然而List<NameValuePair>类型的params并不能直接被放置到HttpPost中
所以需要转换成另一种类型的数据:HttpEntity、在转换的同时还可以设置一下编码:
HttpEntity httpEntity=new UrlEncodedFormEntity("params","GB2312");
将数据参数放置到HttpPost中:
httpPost.setEntity(httpEntity);
使用HttpClient的对象:deafultHttpClient来发送HttpPost的对象到服务端、同时将会获得HttpResponse对象、
接着HttpResponse对象调用getEntity()来获取服务端发送过来的信息
2、服务端:
服务端接收数据比较简单
首先设置下请求编码防止中文乱码
然后使用request对象来获取参数就行了
String username=request.getParameter("name")