java HTTPclient

我们在一般系统的通信过程中,可以用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);

 

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值