java - session 已销毁;在 JSP 和 Servlet 中打印消息

标签 java jsp servlets

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

最佳答案

当 session 被销毁时,无论如何你都不能从服务器端做任何事情。在 session 销毁时,无法保证您手头有有效的请求/响应对象。你最好的选择是在客户端完全处理它,例如使用 JS。通过 HttpSession#getMaxInactiveInterval() 可以得到当前 session 的剩余生命周期你可以使用 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>

关于java - session 已销毁;在 JSP 和 Servlet 中打印消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257330/

相关文章:

java - 如何计算二叉树中 "only child"节点的数量?

java - struts 2操作错误: retrieves values of form properties

java - 在已经存在 doGet 和其他 6 个方法的情况下在 Servlet 中使用 Service 方法

java - 不需要时,我应该在 Java 中将整数解析为字符串吗?

java - 希望能够使用Java自动浏览和搜索互联网,无需图形

java - 该方法添加 mod 2^512

java - 改变背景颜色jsp

jsp - Spring MVC : how can I give the <form:textarea/> tag a default value?

jsp - javax.servlet.jsp.JspException : In &lt;parseDate&gt;, 无法建立解析语言环境

java - 仅在文件下载完成后设置 cookie。