最近做项目,用到JAVA普通类调用一个servlet应用,所以把部分代码也贴上来了。
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.params.HttpMethodParams; ...... // 构造HttpClient的实例 HttpClient httpClient = new HttpClient(); // 创建GET方法的实例 PostMethod postMethod = new PostMethod(url + "servlet/getUrlAddress?"); // 使用系统提供的默认的恢复策略 postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); postMethod.addParameter("username",URLEncoder.encode(username)); postMethod.addParameter("password",URLEncoder.encode(password)); try { // 执行postMethod int statusCode = httpClient.executeMethod(postMethod); if (statusCode != HttpStatus.SC_OK) { System.err.println("Method failed: " + postMethod.getStatusLine()); } // 读取内容 String responseBody = new String(postMethod.getResponseBody()); // 处理内容 //System.out.println("servlet返回的内容 : " + responseBody); } catch (HttpException e) { // 发生致命的异常,可能是协议不对或者返回的内容有问题 System.out.println("Please check your provided http address!"); e.printStackTrace(); } catch (IOException e) { // 发生网络异常 e.printStackTrace(); } finally { // 释放连接 postMethod.releaseConnection(); } ....