java类模拟客户端调用servlet (httpClient)

最近做项目,用到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(); 
  } 

.... 

 

深圳人才网 深圳招聘网 深圳人才招聘网 深圳人才大市场 

企业、个人免费注册,获取想要的 深圳 软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位! 

www.szrcwz.com                                                                                                                                           

                  Google 提供的广告

posted @ 2010-07-08 09:18  栈长  阅读(116)  评论(0编辑  收藏  举报