应用程序的会话超时创建

时间:2011-11-24 12:34:06

标签: javascript jsp

我要求会话超时。这是我的要求。登录到我的应用程序后,开始计算时间。如果它达到10分钟,它应该发出警告,提示

  你想继续吗?

如果客户按“是”,会话应继续,时间重置为0.如果按“否”,会话应关闭,错误页面需要到来。我需要在javascript和jsp中进行此更改。任何人都可以对此有所了解吗?

2 个答案:

答案 0 :(得分:6)

在你的frameset文件中,你可以拥有:

<script type="text/javascript">
    window.setTimeout('checkIfContinue()', 10*60*1000);  //10 minutes

    function checkIfContinue()
    {
        if(confirm("Do you want to continue?"))
        {
            window.setTimeout('checkIfContinue()', 10*60*1000);  //start the timer again
        }
        else
        {
            window.location = 'timeout.html';
        }
    }
</script>

当然,如果您需要一个精美的对话框,那么您需要对其进行编码,而不是使用javascript函数confirm

答案 1 :(得分:2)

我不确定您是否在寻找完整的代码示例。但简单地说,我会说你应该在客户端使用ajax每分钟一次ping服务器,看看超时是否已经过期。但是,如果有,那就是一个挑战。服务器告诉客户端“会话已过期”,但接着是什么?如果用户没有回答“是”,您希望会话超时吗?如果是这样,那么服务器等待多长时间才能在超时之前收到客户端的回复?如果用户没有点击“是”30秒怎么办?所以它可能变得棘手,你必须决定规则。

如果除非用户点击“否”,否则不采取任何措施,那么这不是问题。

但是我也应该说,我认为询问访问者是否愿意继续是不是一个好主意。这让游客感觉他们正在被纠缠离开。