JSP - 知道我什么时候退出jsp页面

时间:2012-02-15 14:53:18

标签: java jsp

我正在编写一个包含多个jsp文件的Web应用程序,会话超时为20分钟。 但是在一个特定的jsp中,当我调用一个动作时,我需要将会话超时设置得更大。我用: request.getSession().setMaxInactiveInterval(1800);

然后一个动作结束我将会话超时重置为原始值,其中: request.getSession().setMaxInactiveInterval(600);

但是当运行应用程序并调用该操作时,会关闭会话,因为我设置的时间已经过去了。

我想知道的是,当我退出jsp时,是否有一种方法不知道?没有关闭浏览器或关闭标签窗口。例如,我打电话给另一个jsp?

或者是另一种重置会话超时的方法,以便在操作结束时会话不会关闭?

我忘记了。 该动作在for bucle内部,如果条件为true,则调用该动作。我在调用操作之前将代码更改为会话超时,并重置操作结束的时间。

for(int i = 0; i < totalreg; i++) {
    if (condition) {
        request.getSession().setMaxInactiveInterval(1800);
        process();
        request.getSession().setMaxInactiveInterval(600);
    }
}

感谢。

2 个答案:

答案 0 :(得分:1)

只需要一个不可见/非常小的iframe,你可以连续重新加载一些随机页面。或者,您可以将AJAX用于此目的。这样,只要此页面处于打开状态,您的会话就永远不会超时。

这也是异步显示行动进展的好方法。

答案 1 :(得分:0)

我使用onbeforeunload事件找到了我用javascript查看的内容。 我在此网站的此链接中找到了Best way to detect when user leaves a web page