使用java进行http请求,除了java自带的HttpURLConnection外,还可以使用Apache HttpClient。Apache HttpClient在高并发量的场景下,性能比HttpURLConnection高很多。本文实现了HttpClient请求的一整套代码。
工具/原料
1
mac
2
maven
方法/步骤
1
第一步:引入maven依赖我们使用4.5.8版本
2
第二步:创建一个组件,使用spring容器进行管理组件实现了spring的两个回调接口:InitializingBean和DisposableBean。InitializingBean的方法afterPropertiesSet在组件初始化完成的时候调用,DisposableBean的destroy方法在组件销毁的时候调用。
3
第三步:指定连接保活策略由于要使用连接池,就需要定制连接保活策略,这里默认保活600秒。
4
第四步:指定连接池使用Apache Httpclient自带的连接池管理器。
5
第五步:指定连接闲置回收任务这里定义了一个定时任务,它会每个一段时间检查连接池里的连接是否失效,如果失效就移除。
6
第六步:初始化组件初始化方法首先使用保活策略和连接池创建一个client,然后启动连接闲置回收任务。
7
第七步:编写get方法get方法首先定义一个HttpGet对象,然后设置请求头和超时时间,然后执行调用,这里使用ResponseHandler进行请求处理,避免手动处理IO流。
8
第八步:编写post方法post方法和get方法类型,区别是会设置json的请求头,然后请求参数使用json格式的字符串传过去。
9
第九步:定义组件销毁方法组件销毁的时候,会把连接池和定时任务也关闭
注意事项
需要一定的java基础
下一篇:JS如何发送HTTP请求