我有这个页面:
<%@page language="java"%>
<html>
<head></head>
<body>
<% while(true) System.out.println("foo"); %>
</body>
</html>
我希望在会话到期之前关闭浏览器时停止执行此页面。
我的想法是使用JavaScript来捕获onunload
事件,使用AJAX将线程id回发到servlet /另一个JSP,并在一段时间后残酷杀死线程,即15秒。
这是对的吗?可能吗?还有更好的主意吗?
答案 0 :(得分:0)
您可能需要在从客户端异步接收消息后停止写入的JSP页面,例如:
1)正如你所提到的那样,页面继续写作。
2)在每次写入之后,它可以检入消息队列或数据库,以指示它应该停止流数据。由于JSP正在运行到服务器,因此它与客户端没有任何连接,因此必须将此检查与浏览器分离。
然而,根据评论---尚不清楚这是否必要。