我正在编写一个web应用程序与多个jsp文件与会话超时为20分钟。但在特定的jsp中,当我调用一个操作时,我需要将会话超时设置得更大。我使用:request.getSession().setMaxInactiveInterval(1800);
然后,在它结束的一个操作中,我用以下命令将会话超时重置为它的原始值:request.getSession().setMaxInactiveInterval(600);
但当运行应用程序并调用操作时,它会结束会话关闭,因为我设置的时间已经过去了。
我想知道的是,当我退出jsp时,是否有一种不知道的方法?不关闭浏览器或选项卡窗口。例如,我调用另一个jsp?
或者是另一种保留会话超时的方法,以便在操作结束时会话不会关闭?
我忘了。该操作位于for存储桶中,如果条件为true,则调用该操作。我将更改会话超时的代码放在调用操作之前,并重置操作结束的时间。
for(int i = 0; i < totalreg; i++) {
if (condition) {
request.getSession().setMaxInactiveInterval(1800);
process();
request.getSession().setMaxInactiveInterval(600);
}
}谢谢。
发布于 2012-02-23 02:38:53
我使用onbeforeunload事件找到了我正在使用javascript查找的内容。我在这个网站上找到了这个链接:Best way to detect when user leaves a web page。
发布于 2012-02-15 23:05:04
只要有一个不可见的/非常小的iframe,你就可以不断地重新加载一些随机的页面。或者,您也可以使用AJAX来实现此目的。这样,只要此页面处于打开状态,您的会话就不会超时。
这也是异步显示操作进度的好方法。
https://stackoverflow.com/questions/9295568
复制相似问题