HttpClient 请求和接收

         最近要写一个简单的数据请求接口,嫌麻烦就直接用HttpClient来做了。

项目一的请求代码:

/**
  * TODO(httpClient请求 方法)
  * 
  * @param url  请求地址
  * @param data  需要传递的数据
  * @return JSONObject 

  */
 public static JSONObject post(String url, String jbody) {
  JSONObject json = new JSONObject();
  List<BasicNameValuePair> formParams = new ArrayList<BasicNameValuePair>();
  formParams.add(new BasicNameValuePair("request", jbody));
  HttpEntity entity = null;
  HttpEntity responseEntity=null;
  try {
   entity = new UrlEncodedFormEntity(formParams, "UTF-8");
   HttpPost request = new HttpPost(url);
   request.setEntity(entity);
   HttpResponse response = httpClient.execute(request);
   responseEntity = response.getEntity();
   String result = EntityUtils.toString(responseEntity);
   json = JSONObject.fromObject(result);
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  } catch (ClientProtocolException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   EntityUtils.consumeQuietly(responseEntity);
  }
  return json;

 }

  

接收方项目的接收Action:

@RequestMapping("/findPhoneDist")
 @ResponseBody
 public  JSONObject findPhoneDist(ModelMap model,HttpServletRequest request,HttpServletResponse response){

//方法一:适用请求方只传递了一个参数
  System.out.println(request.getParameter("request"));

//方法二:实用于请求方传递了多个参数

  /*Enumeration en =request.getParameterNames();
   while (en.hasMoreElements()) {
             String paramName = (String) en.nextElement();
             String paramValue = request.getParameter(paramName);
             System.out.println("参数值:"+paramValue);
         }*/
  return null;
 }

  

猜你喜欢

转载自qieyi28.iteye.com/blog/2222730
今日推荐