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