Eag*_*ner 8 java jsp servlets session-timeout java-ee
我的要求是通过弹出窗口通知用户,说明用户会话即将在x秒内超时,以防用户在网页上执行任何活动.
此要求的另一个要求是在弹出窗口中动态减小值x秒.
我使用的环境是Java EE.
Bal*_*usC 11
利用HttpSession#getMaxInactiveInterval()和setTimeout().除非您想在每个客户端活动(轮询)上推迟超时,否则在此特定目的中不需要Ajax.
基本示例:
<script>
var secondsBeforeExpire = ${pageContext.session.maxInactiveInterval};
var timeToDecide = 15; // Give client 15 seconds to choose.
setTimeout(function() {
alert('Your session is about to timeout in ' + timeToDecide + ' seconds!')
}, (secondsBeforeExpire - timeToDecide) * 1000);
</script>
Run Code Online (Sandbox Code Playgroud)
为了减小在邮件内的时间神奇,然后代替基本的alert(),其中你必须控制通过HTML DOM树中的内容,你需要一个覆盖有一个div并利用另一个setTimeout()在1秒动态地更改文本.
请注意,必须由此脚本提供JspServlet才能使EL工作.因此,您需要将脚本放在<head>JSP页面的HTML 中,或者如果您确实希望将所有JS放在单独的*.js文件中,那么您还需要JspServlet处理任何*.js请求.