`
747017186
  • 浏览: 318290 次
社区版块
存档分类
最新评论

java HTTPclient

    博客分类:
  • java
 
阅读更多

我们在一般系统的通信过程中,可以用http协议进行通信。比如一个j2ee项目和一个j2se项目之间进行通信。我们可以使用httpclient方法。看例子:

首先用的jar包:

commons-logging-1.0.4.jar

commons-codec-1.8.jar

commons-httpclient-3.1.jar

这三个jar

 

这是httpclient例子方法

package com.sysc.xmleditor.httpClient;

 

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLEncoder;

 

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.methods.PostMethod;

import org.apache.commons.httpclient.params.HttpMethodParams;

 

public class FontAPIHandle {

public static void main(String[] args) throws Exception {

String str="http://localhost:8080/shuju/font";

String s=getContent(str, "哈哈");//设置要传输的参数

System.out.println(s);

    }  

 

/**

* 返回接口信息

* @param strUrl,接口参数  

* paramStr 参数信息

* @return 服务器返回信息

*/

public static String getContent(String url,String paramStr){

 StringBuffer buf = new StringBuffer();  

 try{

 HttpClient client = new HttpClient();     //创建httpclient对象

       PostMethod method = new PostMethod(url);   //创建post实例

       method.addParameter("name", paramStr);  //设置要传输的数据

       HttpMethodParams param = method.getParams();// 得到参数对象 

       param.setContentCharset("UTF-8");  //设置参数编码格式

      

       client.executeMethod(method);//发送  

       //打印服务器返回的状态  

       System.out.println(method.getStatusLine());  

       //打印返回的信息  

   InputStream stream = method.getResponseBodyAsStream();  

   BufferedReader br = new BufferedReader(new InputStreamReader(stream, "UTF-8"));  

   String line;  

   while (null != (line = br.readLine())) {  

     buf.append(line).append("\n");  

   }  

   //释放连接  

   method.releaseConnection();

 }catch(Exception e){

   System.out.println("发送信息失败!");

   e.printStackTrace();

 }

 return buf.toString();

}

}

 

 

这是web项目的程序:

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

// TODO Auto-generated method stub

System.out.println(req.getParameter("data"));

 

String name=req.getParameter("name");//参数直接用getParameter方法接收就可以了,和普通的url传参一样的

System.out.println(name);

resp.setContentType("text/plain; charset=utf-8");

PrintWriter out=resp.getWriter ();

out.print("欢迎:"+name);

 

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics