转载: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);
}