Java中经常需要进行网络请求,最常用的就是Get和Post请求。
Java中定义了URLConnection可用于Http访问,如果结合线程池,可以实现多个请求异步访问,但是同步返回结果,可用于类似爬虫等应用。
下文介绍如何结合线程池对Http请求进行封装。
1.首先,定义HttpReq,封装请求的路径,参数以及类型。
1 | public class HttpReq { |
2.其次,定义HttpResq,对请求的结果进行封装。
1 | public class HttpResp { |
3.定义HttpCallable,用于具体地处理HttpReq,并返回HttpResp。
1 | class HttpCallable implements Callable<Object> { |
4.定义工具类HttpUtil,利用线程池处理请求。
1 | public class HttpUtil { |