如何指定有关Java servlet容器的HTTP请求超时参数(How to specify Htt

2019-07-17 19:30发布

我想明白的地方我可以配置抵达我的一个servlet(或所有我的Servlet)的所有请求的请求超时? 是这样的,因为我觉得,一个容器属性? 此外,如何影响不同的浏览器? 难道他们都符合该参数的容器使然? 或者,也许请求超时时间甚至不是东西,我可以控制每个浏览器这个决定对自己? (只是要清楚,我不是在谈论会话超时)

Answer 1:

从客户端的超时(即,它等待到HTTP请求的响应有多长)在客户端被确定。 对于IE,看看这个 ,并为Firefox看到这个 。

你无法控制从服务器超时。



Answer 2:

即使你无法控制客户端超时,可以使服务器很不耐烦:)例如,在Tomcat上,您可以在连接器做到这一点,

<Connector port="8080"  
  ...
  connectionTimeout ="5000"
  disableUploadTimeout="false" />

这使得服务器只等待5秒钟,并关闭连接。 浏览器将得到一个连接关闭错误。 你可以把它等同于客户端超时。

当然,如果超时由服务器,浏览器和服务器之间没有连接问题造成这仅适用。



Answer 3:

你无法控制从服务器的客户端超时。 但是您可以将数据发送回客户端飘飞而你的长期运行的操作正忙。 这将阻止客户端超时,并且可以用来显示进度给用户等将数据写入的OutputStream或写入器从响应获得的并调用齐平的部分数据发送到客户端。



文章来源: How to specify Http Request timeout parameter on Java servlet container