发送
<span style="font-size:18px;"> public static void httpPostWithJSON(String url, String json) throws Exception {
// 将JSON进行UTF-8编码,以便传输中文
String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
StringEntity se = new StringEntity(encoderJson);
se.setContentType(CONTENT_TYPE_TEXT_JSON);
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
httpPost.setEntity(se);
httpClient.execute(httpPost);
}</span>
接收
<span style="font-size:18px;"> @RequestMapping(value="/annybmm")
public void impressionMonitor(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 读取请求内容
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();
String ii = URLDecoder.decode(reqBody, HTTP.UTF_8);
System.out.println(ii);
}</span>
测试
<span style="font-size:18px;">public static void main(String[] args) {
try {
String urlAddr = "http://localhost:8080/dsp-business/bmm/annybmm";
String post = "{'detail':{'status':0,'name':'安安','age':24,'date':'2015-10-10'}}";
BmmController k = new BmmController();
k.httpPostWithJSON(urlAddr,post);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}</span>
结果
<span style="font-size:18px;">{'detail':{'status':0,'name':'安安','age':24,'date':'2015-10-10'}}</span>
有待完善 ing