java中有没有办法在不使用httpclient,http-commons等第三方API的情况下进行http连接池。?
在我的情况下,我想打开一个与特定servlet的URL的连接&我的查询字符串更改,但每当我打开一个connection.it打开一个新连接,因为我已经看到了 'netstat -anp | grep portno'我不想要的?
String sendMessageUrl="http\://ip\:portno/contextpath/servlet/Servletname?parameter1\=¶meter2\=";
URL testURl=new URL(sendMessageUrl.replaceAll("&", name+"&")+surname);
HttpURLConnection httpConnection=(HttpURLConnection)testURl.openConnection();
httpConnection.connect();
if(httpConnection.getResponseCode()==200)
{
System.out.println("Success");
}
这里只有参数1&参数2更改,但整个网址保持不变。
答案 0 :(得分:2)
当创建这些对象的成本很高时,您会对对象进行池化,例如,创建数据库连接的成本很高,因此池化是有意义的。在不使用第三方框架的情况下,仍然可以池化HTTP连接,毕竟池只是以前创建的类实例的集合。
至少要创建一个管理HTTP连接池的类,您至少需要执行以下操作:
您可能还需要将以下内容视为可能值得在池中使用的功能:
还有许多其他事情需要考虑,但如果您自己构建,则需要考虑您的具体要求。您应该尝试一下,如果遇到问题,请向SO寻求有关您具体问题的帮助。
答案 1 :(得分:1)
您可以使用JDK
的{{3}}部分。它使用引擎盖下的TCP连接池