`
dtt3401885
  • 浏览: 17983 次
文章分类
社区版块
存档分类
最新评论

HttpClient 使用对servlet推送数据

 
阅读更多

本人使用的是3.0.1版本 ,现在已经是4.0版本以后了,版本区别很大方法就不同,4.0是使用的接口。。
import org.apache.commons.httpclient.HttpClient
import org.apache.commons.httpclient.methods.PostMethod
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;



public static String setUevent(url){
HttpClient       httpClient   = new HttpClient();
PostMethod method  = new PostMethod(url)
method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");//防止中文乱码

这里有两种传参方法
1、
method.addParameter("user", 'user');//使用string类型不是的记得.toString()
method.addParameter("pass",  'pass');
httpClient.executeMethod(method);
method.releaseConnection();//记得关闭
2、
NameValuePair[] data =[
new NameValuePair("CLIENT_ID", uevent.clientcmy.id.toString()),
new NameValuePair("CONTENT",  uevent.content.toString())
]
method.setRequestBody(data);
try {
httpClient.getParams().setContentCharset("GBK");
// 执行postMethod
int statusCode = httpClient.executeMethod(method);
// HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
// 301或者302
//    if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
//      || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
//     String responseBody = postMethod.getResponseBodyAsString();
//     log.info(responseBody);
//     if (responseBody != null) {
//      if ("succ".equals(responseBody)) { // 发送成功
//
//       isSended = true;
//      }
//     }
//    }

if (statusCode == 200) {
strResponse = method.getResponseBodyAsString();
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题

e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
e.printStackTrace();
} finally {
// 释放连接
method.releaseConnection();
}



}
分享到:
评论

相关推荐

    i-server-common.rar_android_androidsslso_httpclient_jetty_mina

    在Android上,MINA可以用来创建网络服务器,提供推送服务。它的异步I/O模型使得处理大量并发连接成为可能,对于需要实时通信或者高并发场景的应用来说,MINA是一个很好的选择。 综上所述,这个“i-server-common”...

    Java企业微信通用开发配置源代码

    首先,企业微信(Work WeChat)是腾讯公司为企业打造的一款高效办公平台,它提供了丰富的API接口,允许开发者构建各种定制化的应用,如自动化办公、消息推送、数据统计等。为了接入这些功能,我们需要先完成企业微信...

    android 入门笔记

    Android入门笔记 1. 开发环境配置 在开始Android开发之前,首先需要配置好开发环境。Eclipse是一款经典的集成开发环境(IDE)...随着深入学习,还会接触到更多高级概念和技术,如多线程、异步处理、动画、推送通知等。

    JSP源码 聊天系统(java+applet).zip

    同时,Applet还能接收服务器推送的消息,更新用户界面。 3. **Servlet**: 虽然JSP主要用来编写视图层,但它的本质是一个Servlet。在JSP页面被请求时,Web容器会将其转换为Servlet类并进行编译。Servlet是Java Web...

    Java工程师+3年经验+本科(重点看项目).docx

    开发者负责检验项目信息、订单管理和数据中心接口的开发,使用SSM框架、MySQL数据库,Redis进行数据缓存,ajax实现消息推送。此项目同样涉及Nginx图片共享和HttpClient通信。 这些项目经验表明,该Java工程师具有...

    java网页格式的所有类的说明

    7. **WebSocket API**:Java提供WebSocket API来支持双向通信的Web应用,允许服务器主动推送数据给客户端,提高实时性。 8. **HTTP客户端API**:Java 7引入了`HttpURLConnection`类,Java 11引入了`HttpClient`模块...

    该文件是一种基于JavaWeb的实时热点-新闻更新系统

    这可能意味着开发者将精力集中在了关键的技术实现上,比如数据抓取、数据清洗、实时推送等方面。 【标签解析】 "java"标签明确了主要编程语言,Java是企业级应用开发的常用语言,尤其在Web领域,它提供了丰富的库和...

    webSocket需要的所有Jar包

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行双向通信,即服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。在Web应用中,WebSocket为实时交互提供了强大的支持,如在线...

    微信企业号接口开发源码-Java

    1. **微信API**:微信提供了丰富的API接口,包括但不限于用户管理、消息推送、事件订阅、自定义菜单、素材管理等。开发者需要理解这些API的功能,以便正确调用并实现所需功能。 2. **OAuth2.0授权**:微信企业号的...

    Client-Server-Application:客户端服务器分布式应用程序

    2. 双向通信:客户端可以发起请求,服务器也可以主动推送信息。 3. 可扩展性:通过增加服务器数量,可以处理更多并发请求,提高系统性能。 4. 可移植性:客户端和服务器可以运行在不同的操作系统上,得益于Java的...

    JavaRush:我的http解决方案

    性能优化可能包括减少HTTP请求的数量(通过合并资源或使用HTTP/2的推送特性)、使用缓存以及正确设置响应头(如Cache-Control和Expires)。 在JavaRush-master这个项目文件中,可能包含了源代码、测试用例、配置...

    java技术点

    20. **实时消息推送**:WebSocket,AJAX轮询。 21. **国际化标签库**:自定义TLD文件,标签处理类。 22. **JavaMail发送邮件**:JavaMailSender接口。 23. **SQL注入防御**:预编译SQL,参数绑定。 24. **配置文件...

    integration-tests:Atmosphere 2.0.x的集成测试

    测试的重点在于验证服务器是否能在适当的时间推送数据到客户端,以及客户端是否能正确解析和处理这些数据。 在集成测试中,除了关注Atmosphere的功能性,还要关注性能和稳定性。这可能涉及到压力测试,例如通过并发...

    treinamento-java-angular:Desafio Treinamento JavaAngular 2021年

    7. **Git版本控制**:如何使用Git进行版本管理,如提交、推送、拉取、合并等操作,以及解决冲突的方法。 8. **项目结构**:讲解Angular项目的标准目录结构,包括src目录下的app、assets、environments等文件夹的...

Global site tag (gtag.js) - Google Analytics