gpt4 book ai didi

java - HttpSession 和 JBoss。 session 超时有什么影响?

转载 作者:行者123 更新时间:2023-12-02 06:09:28 25 4
gpt4 key购买 nike

我继承的一些代码使用以下行创建了一个 session :

HttpSession session = req.getSession(); //req is an instance of HTTPServletRequest

在应用程序的配置中, session 配置的值设置为 10(分钟)。

之后, session 的唯一用途就是获取 session ID:

String sid = req.getSession().getId();

并使之无效:

  • req.getSession().invalidate();

session 不用于存储用户数据。这一切都是由 Perl 脚本在数据库表中完成的,只需使用 HttpSession 创建的 sid 作为标识符。 (有点像应用程序的怪物)。

所以。我的问题是给出了超时设置,我希望某些事情会失败。至少一行:

String sid = req.getSession().getId();

10 分钟后会返回空字符串吗?

然而,尽管超时设置为 10 分钟,但一切似乎都在顺利进行。这是为什么?

谢谢

--贾斯汀·威利

最佳答案

如果 session 因超时或代码而失效,则当您执行 request.getSession() 时,您将创建一个新 session 。您可以通过比较两个 id 的值来检查这一点。

如果您不希望 getSession() 方法在没有创建 session 的情况下创建新 session ,您可以向其传递 false 作为参数。

如果您希望“某些事情失败”,您可以尝试向 session 添加一个值(使用 setAttribute() 方法),并在失效后检查它是否存在。

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

关于java - HttpSession 和 JBoss。 session 超时有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22012143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com