android上客户端到服务端通过Entity传送数据
2015-05-28 09:35
302 查看
传送Json需要各种包,见前面一篇博文。有详细说json的引包问题。
1,服务端到客户端
服务端新建Json数据,HttpservletResponse是请求对象的返回,得到他的writer,把json转换成string就可以。写在doGet里。
代码:
客户端,使用HttpClient的execute的方法。用httpGet去执行。返回HttpResponse。再从response读取。
代码:
2,客户端到服务器端的传送
客户端,跟前面差不多,也是利用httpClient的execute方法,不过发送数据用Post。结合entity。
代码:
服务端,只要写一个读取的方法就可以,在方法里处理HttpservletRequest的数据
代码: 这里只是输出
1,服务端到客户端
服务端新建Json数据,HttpservletResponse是请求对象的返回,得到他的writer,把json转换成string就可以。写在doGet里。
代码:
res.setContentType("UTF-8"); PrintWriter pw = res.getWriter(); JSONObject json = new JSONObject(); json.put("name","fwz"); pw.write(json.toString());
客户端,使用HttpClient的execute的方法。用httpGet去执行。返回HttpResponse。再从response读取。
代码:
String result=null; HttpClient client = new DefaultHttpClient(); HttpResponse response; byte[] data; try { response = client.execute(new HttpGet("http://192.168.56.1:8080/Service/servlet/EntityService")); if(response.getStatusLine().getStatusCode()==200){ data=EntityUtils.toByteArray(response.getEntity()) ; result=new String(data); } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
2,客户端到服务器端的传送
客户端,跟前面差不多,也是利用httpClient的execute方法,不过发送数据用Post。结合entity。
代码:
HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("http://10.0.2.2:8080/myFirstServlet/JSONServer"); JSONObject jsonObject = new JSONObject(); try { jsonObject.put("name", "ze"); StringEntity entity = new StringEntity(jsonObject.toString()); post.setEntity(entity); HttpResponse responString = client.execute(post); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
服务端,只要写一个读取的方法就可以,在方法里处理HttpservletRequest的数据
代码: 这里只是输出
try { BufferedInputStream in = new BufferedInputStream(req.getInputStream()); int i; char c; while ((i=in.read())!=-1) { c=(char)i; System.out.print(c); } System.out.println(); System.out.println("test"); } catch (Exception ex) { ex.printStackTrace(); }
相关文章推荐
- [Android]Http通信,HttpService服务端通过getEntity获取HttpClient客户端Post上来的数据
- 服务端和Android客户端利用Socket传输JSON数据
- c语言实现socket服务端/客户端通过tcp传送文件
- Android手机客户端通过JSP实现与Tomcat服务器端通信(Msql数据库,Json作为载体)--服务端代码
- Android客户端与PC服务端、android服务端通过WiFi通信
- 【Android 开发】: Android客户端与服务端之间使用JSON交互数据。
- java后台接收android客户端通过http方式发送的数据
- android 集合SSH服务端实现登录并保持session使客户端在登陆后能够获取服务端数据
- Android客户端与PHP服务端的数据交互
- Android 通过intent跳转页面并传送数据
- android开发步步为营之6:客户端通过tcp和服务端进行交互
- WCF 通过net tcp 协议 ,在服务端服务器和客户端服务器之间传输数据,注意配置事项
- Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程
- 通过Android 客户端上传数据到服务器
- Android中从服务器端向客户端传数据[通过json]
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- JSON PHP中返回JSON数据(多个JSON通过一个大的数组组合成一个JSON字符串),在客户端解析JSON数据减轻服务端压力
- Android 中通过HTTPRequest 与服务端进行 JSON格式数据交互
- Flask-处理客户端通过POST方法传送的数据
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)