java - 检测浏览器在 http 请求响应周期中关闭

标签 java servlets browser tcp jetty

场景:

  1. 连接到 java servlet 的 Web 应用程序。 (使用嵌入式 jetty )
  2. 高延迟请求,例如报告生成(需要几秒钟)
  3. 用户可以在 http 请求响应周期之间关闭浏览器。

问题:

如何在服务器端检测浏览器在请求和响应周期之间关闭?

虽然问题可以通过使用来自 UI 的另一个请求来解决,但我想知道我们是否可以从通信协议(protocol)本身获取信息?由于 HTTP 使用 TCP/IP 作为基本协议(protocol),我们不应该能够将其检测为从连接发起方端关闭的连接。

我浏览了 servlet api 以及用于配置 jetty 服务器的 api,但找不到任何密切相关的内容。

还经历了这些 stackoverflow 问题

  1. Java Servlet : How to detect browser closing?
  2. How to detect browser close at server side in asp.net?

有什么见解吗?

最佳答案

当您尝试写入 servlet 输出流/编写器时,您会遇到异常。

关于java - 检测浏览器在 http 请求响应周期中关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33076375/

相关文章:

Java,用扫描仪尝试捕捉

java - 是否值得尝试在 UDP 之上构建我自己的可靠性?或者我应该只选择 TCP?

java - requestDispatcher#forward() 上的 Tomcat 无限循环。堆栈溢出错误

java - Eclipse Servlet 需要很长时间才能更新

Android - 无法访问 sdCard 上的 html 文件

java - Path2D 绘制错误?

java - Android:从 sampledata 文件夹中读取 json

java - 嵌入 Jetty 并在 ServletContext 上设置默认属性

javascript - 用户可以禁用 html5 sessionStorage 吗?

javascript - 提供一个对话框以在 Web 应用程序上使用浏览器固有的全屏