如何在Java servlet容器上指定Http Request超时参数

Itt*_*tai 23 java containers timeout servlets httprequest

我想知道在哪里可以为到达我的servlet(或我所有的servlet)的所有请求配置请求超时?那是我认为的容器财产吗?另外,这对不同的浏览器有何影响?它们都符合容器规定的参数吗?或者请求超时时间甚至不是我可以控制的,每个浏览器自己决定这个?(为了清楚我不是在谈论会话超时)

Vin*_*jip 14

客户端确定来自客户端的超时(即等待对HTTP请求的响应的时间).对于IE,请看这个,对于Firefox,请看这个.

您无法从服务器控制此超时.


ZZ *_*der 7

即使您无法控制客户端超时,也可以使服务器非常不耐烦:)例如,在Tomcat上,您可以在连接器中执行此操作,

<Connector port="8080"  
  ...
  connectionTimeout ="5000"
  disableUploadTimeout="false" />
Run Code Online (Sandbox Code Playgroud)

这使服务器只等待5秒钟并关闭连接.浏览器将收到连接关闭错误.您可以将其视为与客户端中的超时相同.

当然,这只有在超时是由服务器引起而不是浏览器和服务器之间的连接问题时才有效.

  • 参数名称是Connector标记内的connectionTimeout,如下所示:<Connector port ="8080"protocol ="HTTP/1.1"connectionTimeout ="120000"URIEncoding ="UTF-8"redirectPort ="8443"/> (2认同)