Send Http Request Get JSON From Servlet in Java Part 2


Chào các bạn tiếp theo cách mà chúng ta làm lần trước khi chúng ta sử dụng send Http request thông qua HttpURLConnection, Bài hôm nay chúng ta sử dụng tương tự với bài viết hôm trước như lần này chúng ta xậy dựng 1 class Parser thứ 2 dùng Apache HttpClient.

Xây dựng Project tương tự như project ở part 1   : Send Http Request Get JSON From Servlet in Java Part 1

Để chuẩn bị thêm cho project này các bạn cần phải down load thêm thư viện hổ trợ Apache HttpClient

Các bạn vào web page sau : http://hc.apache.org/downloads.cgi chọn HttpClient 4.x.x các bạn down file Binary.ZIP sau đó các bạn thêm thư viện vào trong project .

Hình ảnh các thư viên đó như sau :

d1

Sau đó chúng ta thêm vào class phía client  class HttpParserApache.java sau.


package demo;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.HttpClient;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

import org.json.JSONArray;

import org.json.JSONObject;

public class HttpParserApache {

public static void main(String[] args) throws Exception {
// Get List Person through Http GET
HttpParserApache.getHttpRequestGet_ListPerson();
// get Person with ID = id001 through Http POST
HttpParserApache.getHttpRequestPOST_ListPerson();

}
public static void getHttpRequestGet_ListPerson() throws Exception {
String url = "http://localhost:8080/MyWeb/ActionListPerson";
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);
System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {

result.append(line);

}
// print result
JSONArray arrPerson = new JSONArray(result.toString());
for(int i = 0; i < arrPerson.length(); i++){
JSONObject myPerson = arrPerson.getJSONObject(i);
System.out.println("ID_ : " + myPerson.getString("id"));
System.out.println("Name: " + myPerson.getString("name"));
System.out.println("Age : " + myPerson.getInt("age"));
System.out.println("=====================================================");
}
}

// HTTP POST request

public static void getHttpRequestPOST_ListPerson() throws Exception {
String url = "http://localhost:8080/MyWeb/ActionListPerson";
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("id", "id001"));
post.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = client.execute(post);
System.out.println("Post parameters : " + post.getEntity());
System.out.println("Response Code : " +
response.getStatusLine().getStatusCode());
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
//print result
JSONObject objPerson = new JSONObject(result.toString());
System.out.println("ID_ : " + objPerson.getString("id"));
System.out.println("Name: " + objPerson.getString("name"));
System.out.println("Age : " + objPerson.getInt("age"));
System.out.println("=====================================================");
}
}

kết quả bài viết là tương tự :

d1

OK chúc các bạn thành công :

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: