java - JSP - 知道我何时退出 jsp 页面

标签 java jsp

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

然后一个 Action 结束我将 session 超时重置为其原始值: request.getSession().setMaxInactiveInterval(600);

但是当运行应用程序并调用操作时,它结束 session 关闭,因为我设置的时间已经过去。

我想知道的是有没有办法不知道我什么时候退出jsp?不关闭浏览器或关闭选项卡窗口。比如我调用另一个jsp?。

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

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

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

谢谢。

最佳答案

只需一个不可见/非常小的 iframe,您可以在其中连续重新加载一些随机页面。或者,您可以为此目的使用 AJAX。这样,只要此页面打开,您的 session 就永远不会超时。

这也是一种异步显示操作进度的好方法。

关于java - JSP - 知道我何时退出 jsp 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9295568/

相关文章:

java - 文件管理/替换 java 中的单引号

java - 使显示标签隐藏

java - 按特定字符串值对字符串数组进行排序

java - 对 java ConcurrentHashMap 中的值进行排序

java - Eclipse插件: How to add items to a TableViewer asynchronously?

java - 信息 : TLD skipped. URI:<标记名称 URI> 已定义

java/javascript 在线读取XML文件

java - 在jsp中启用el

java - 如何在一个类的方法中运行所有内容?

java - 不同风格的程序流程?