HttpClient 的簡單使用
服務端的代碼:
package com.paic.test.web.httpServer;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation classHelloServlet
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
private static final longserialVersionUID= 1L;
public HelloServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
//response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
String jsonStr="{'deviceid':'SH01H20130002','productid':'SH01H20130007'}";
//輸出數據
out.write(jsonStr);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
this.doGet(request,response);
}
客戶端的代碼:
package com.paic.test.web.httpClients;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
/**
* httpClient 客戶端獲取數據
*/
public class HelloClient {
public static void main(String[] args) {
HttpClient hc=new DefaultHttpClient();
String serversUrl="http://10.65.4.3:8080/test-servers/HelloServlet";
HttpPost hp=new HttpPost(serversUrl);
StringresultStr="";
try {
hp.addHeader("Content-type","application/x-www-form-urlencoded");
HttpResponse response =hc.execute(hp);
if (response.getStatusLine().getStatusCode() ==200) {
resultStr=EntityUtils.toString(response.getEntity());
JSONObject js=new JSONObject(resultStr);
System.out.println(js.get("deviceid"));
System.out.println(js.get("productid"));
// System.out.println(js.getString("deviceid"));
}else{
System.out.println("獲取數據失敗!");
}
}catch(Exception e) {
System.out.println("獲取數據失敗了,錯誤原因:"+e.getMessage());
}finally{
}
}
}