我正在使用jetty服務器來處理http請求。我想知道是否有任何方法可以檢查響應是否成功發回客戶端。是否有我可以檢查的錯誤代碼或狀態,或者如果由於任何原因導致客戶傳輸失敗,我可以捕捉到異常?如何確定javax.servlet是否成功發送響應
感謝
我正在使用jetty服務器來處理http請求。我想知道是否有任何方法可以檢查響應是否成功發回客戶端。是否有我可以檢查的錯誤代碼或狀態,或者如果由於任何原因導致客戶傳輸失敗,我可以捕捉到異常?如何確定javax.servlet是否成功發送響應
感謝
是否有錯誤代碼,或者我可以檢查狀態,還是一個異常,如果轉移到客戶端無法以任何理由,我可以趕上?
聽起來好像您希望服務器能夠知道響應是否完全交付給客戶端。
簡單的答案是沒有辦法知道這一點。 TCP/IP不支持,HTTP不支持,Servlet API不支持。
在某些情況下,如果服務器發現客戶端提前關閉了連接,則可能會拋出異常。但是沒有保證它會注意到,或者它會導致應用程序servlet代碼可見的異常。事實上,在servlet調用返回之後,關閉很可能不會被注意到(如果有的話)。
如果你想實現某種「響應發送」確認的網頁,你能嵌入在發送一個AJAX請求到服務器的網頁一些「的onload」的JavaScript。但是,您必須考慮用戶禁用Javascript的情況,或者原始請求由非瀏覽器應用程序創建的情況。
打開瀏覽器,在地址欄中輸入servlet的URL,查看頁面是否正確加載?我不確定我明白你在問什麼。 – 2013-04-05 21:50:26