jdk自带的url与urlconnection之类的连接网络获取资源的方式在实际的项目中还是有许多的瓶颈,这里就介绍了下apach下的一个子项目HttpClient。
认识HttpClient之前先看看HttpComponents组件
1,httpComponents组件结构
HttpComponents Core
简称HttpCore, 是一组底层Http传输协议组件,支持两种I/O模型,阻塞I/O模型和和非阻塞I/O模型。上层组件(HttpComponents Client, HttpComponents AsyncClient)依赖此组件实现数据传输。
阻塞I/O模型基于基本的Java I/O实现,非阻塞模型基于JAVA NIO实现。
HttpComponents Client
建立在HttpCore之上的Http客户端管理组件。底层基于HttpCore 阻塞I/O。从Commons HttpClient 3.x 继承而来,Commons HttpClient原来是apache commons组建的一部分,现在被HttpComponents Client所替代了,所以下载jar包的时候不要下载commons-httpclient-xxx.jar,尽量用和apach的节奏一致,使用的httpclient-xxx.jar。
原始的Commons HttpClient 3.x可以在http://hc.apache.org/httpclient-legacy/index.html找到。