首页 > 解决方案 > 每次页面重新加载时的会话重置问题

问题描述

在我的控制台页面中,我需要保存执行的命令并将它们显示给用户。为此,我使用会话变量,因为每个用户都会获得不同的会话。但问题是每次都会重新创建会话。所以,我总是在这里得到一个空值,

ArrayList commands = (ArrayList)session.getAttribute("commands")==null?new ArrayList():(ArrayList)session.getAttribute("commands");

尽管如此,我更新了会话变量如下,它不起作用,因为每次页面加载时都会重新创建会话。

String cmd = (String)request.getAttribute("text1");
commands.add(cmd);
session.setAttribute("commands",commands);

我发现会话是通过使用重新创建的,

<%= session.getId() %>

(每次获得不同的值)。有没有办法使用 web.xml 或其他任何东西来防止会话重新创建?

标签: httpsession

解决方案


最后我发现问题是我的 context.xml 文件中的 cookies={false} 。当我将其更改为 true 时,它​​工作正常。


推荐阅读