会议被破坏;在JSP和Servlet中打印消息

时间:2011-06-06 19:58:49

标签: java jsp servlets

会话被销毁后,如何在通知用户的JSP上打印消息?我正在使用一个实现HttpSessionListener的类。

1 个答案:

答案 0 :(得分:4)

当会话被销毁时,无论如何都无法从服务器端执行任何操作。在会话销毁时,无法保证您手上有有效的请求/响应对象。最好的办法是在客户端完全处理它,例如使用JS。您可以按HttpSession#getMaxInactiveInterval()获取当前会话的剩余生命周期,并且可以使用JavaScript的setTimeout()在一段时间后运行函数。

<script>
    setTimeout(function() {
        document.getElementById('message').innerHTML = 'Session has timed out!';
    }, ${pageContext.session.maxInactiveInterval} * 1000); // It returns seconds, but setTimeout expects milliseconds.
</script>
<div id="message"></div>