转载:http://www.blogjava.net/duansky/archive/2012/03/18/372137.html
HttpClient这个东西还是要好好研究一下的。
客户端请求代码:
try{ String requestStr = "JSON格式字符串"; CloseableHttpClient httpclient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://127.0.0.1:8080/plan/sys/sversion.html"); httpPost.setEntity(new StringEntity(requestStr, ContentType.create("application/json", Consts.UTF_8))); HttpResponse response = httpclient.execute(httpPost); int code = response.getStatusLine().getStatusCode(); if (code != HttpStatus.SC_OK) { throw new HttpResponseException(code, "响应异常"); } HttpEntity entity = response.getEntity(); if (entity != null) System.out.println(EntityUtils.toString(entity, "UTF-8")); }catch(Exception e){ e.printStackTrace(); }
服务端接收请求代码:
public static String receivePost(HttpServletRequest request) throws IOException, UnsupportedEncodingException { // 读取请求内容 BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream())); String line = null; StringBuilder sb = new StringBuilder(); while((line = br.readLine())!=null){ sb.append(line); } // 将资料解码 String reqBody = sb.toString(); return URLDecoder.decode(reqBody, HTTP.UTF_8); }