最近要写一个简单的数据请求接口,嫌麻烦就直接用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;
}