1. 服务端代码(基于springMVC框架)
@RequestMapping(value="getHttpPersonInfo")
public void getHttpPersonInfo(String id, HttpServletResponse response){
System.out.println("getHttpPersonInfo方法被调用了");
System.out.println(id);
response.setContentType("text/html;charset=utf-8");
JSONObject json = new JSONObject();
json.put("id", id);
json.put("name", "人员姓名001");
json.put("age", 28);
try {
response.getWriter().write(json.toString());
response.flushBuffer();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://localhost:8080/SpringMVC/PersonController/getHttpPersonInfo.do");
post.addParameter(new NameValuePair("id", "中文ID"));
// 解决中文乱码问题
client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");
try {
int resultCode = client.executeMethod(post);
System.out.println("返回结果代码:" + resultCode);
Reader reader = new InputStreamReader(post.getResponseBodyAsStream());
BufferedReader br = new BufferedReader(reader);
StringBuffer sb = new StringBuffer();
String resultStr = "";
while((resultStr = (br.readLine())) != null){
sb.append(resultStr);
}
System.out.println("最后结果:"+sb.toString());
JSONObject json = JSONObject.fromObject(sb.toString());
System.out.println("姓名:" + json.getString("name"));
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
3.需要借助的包文件
commons-httpclient.jar
可能需要的包:json-lib-2.2.3-jdk13.jar、ezmorph-1.0.5.jar