我想了解在哪裏可以爲到達我的servlet(或我的所有servlet)的所有請求配置請求超時?就我看來,這是一個容器屬性嗎? 此外,這是如何影響不同的瀏覽器?他們是否都遵守容器規定的參數? 或者請求超時時間甚至不是我可以控制的事情,每個瀏覽器都可以自行決定? (只是要清楚我不是在談論會話超時)如何在Java servlet容器上指定Http請求超時參數
22
A
回答
14
2
您無法控制服務器的客戶端超時。但是,當您的長時間運行操作繁忙時,您可能偶爾會將數據發送回客戶端。這將防止客戶端超時並可用於向用戶顯示進度等。將數據寫入OutputStream或Writer從響應中獲得並調用flush以將部分數據發送到客戶端。
5
即使你無法控制客戶端超時,可以使服務器很不耐煩:)例如,在Tomcat上,您可以在連接器做到這一點,
<Connector port="8080"
...
connectionTimeout ="5000"
disableUploadTimeout="false" />
這使得服務器只等待5秒鐘並關閉連接。瀏覽器將得到連接關閉錯誤。您可以將其視爲與客戶端中的超時相同。
當然,這隻適用於超時是由服務器引起的,而不是瀏覽器和服務器之間的連接問題。
+0
「timeout」在Tomcat連接器中沒有這樣的參數 – robsf 2014-01-15 20:21:48
+2
參數名稱是連接標籤內的connectionTimeout,如下所示:
相關問題
- 1. HTTP請求超時
- 2. 在Java Servlet中調節HTTP請求
- 3. servlet容器如何處理這個http請求?
- 4. HTTP請求如何在servlet中提供?
- 5. 確定請求超時角度$ http
- 6. 在計算HMAC時,如何確定HTTP請求參數順序?
- 7. 超時http請求? Android
- 8. 如何檢索Http請求參數的值到Servlet中?
- 9. 去HTTP請求超時
- 10. Express.js HTTP請求超時
- 11. 快遞Http請求超時
- 12. HTTP,408請求超時
- 13. 當請求超時時,http servlet會發生什麼?
- 14. JavaScript可以向Web容器Servlet發送HTTP請求嗎?
- 15. Http請求超時問題
- 16. 如何在Ruby 2中爲Net :: HTTP :: Post.new請求指定讀取超時值
- 17. 如何在Tornado HTTP請求上設置超時?
- 18. 如何指定python請求http put body?
- 19. HTTP頭請求超時在服務器上
- 20. 如何發送HTTP請求到Servlet
- 21. 檢查HTTP POST請求的內容類型到Java servlet
- 22. 如何在使用servlet時在HTTP請求中隱藏密碼
- 23. 如何讓servlet容器(Tomcat)中斷/銷燬servlet請求?
- 24. HTTP請求超載/超時使用python
- 25. HTTP狀態404 servlet請求
- 26. 在dotnetopenauth中指定請求參數4
- 27. 如何使用指定的端口號發送Java HTTP請求
- 28. 在春季停止HTTP請求超時
- 29. 連接超時在iPhone爲http請求
- 30. 如何替換http請求參數值
不錯的問題。我已閱讀您對最後一個答案的評論,並且想知道您選擇了哪種方法來確保請求未關閉。我試圖自己製作彗星,但不知道如何做出正確的選擇。你能否提出一個解決方案?謝謝! – Dragos 2012-05-16 13:54:56
@Dragos我結束了一個實現簡單的長輪詢機制,它在約29秒後(即小於30秒[IE限制])將請求返回給用戶。如果我面臨同樣的問題,我現在要做的就是嘗試使用websockets api。 – Ittai 2012-05-16 14:05:31
所以你在這裏尋找一個超時,這樣「在時間x」它刷新當前響應並殺死當前線程,以便瀏覽器足夠快地接收數據? FWIW瀏覽器似乎等待了「許多分鐘」的響應... – rogerdpack 2017-07-28 18:45:33