gpt4 book ai didi

java - request.getSession 的问题

转载 作者:行者123 更新时间:2023-12-02 00:48:32 24 4
gpt4 key购买 nike

我有一个 servlet LogMeOut.java,我在其中编写以下代码:

HttpSession session = request.getSession(false);
if (session != null){
//statements to delete my cookies //
session.invalidate();
}

我的问题是,当我第一次从 jsp 调用 LogMeOut 时,它给出了一个没有 session 的请求对象。所以我的 session.invalidate 不起作用。但是,如果我返回到我的 jsp,然后调用相同的 LogMeOut,这次请求对象包含正确的 session 并且它可以工作。知道为什么吗?或者我应该从哪里开始寻找?

最佳答案

如果您在没有现有 session 的请求上调用 getSession(false),则它将返回 null。这是expected, documented behaviour .

如果您调用 getSession(true) 或仅调用 getSession(),那么如果不存在 session ,则会创建一个 session 。

执行 JSP 通常也会自动创建一个 session ,因此下次执行代码时,就会出现一个 session 。

但是,如果您想要做的只是使现有 session 无效,那么您的代码对我来说看起来不错 - 不需要创建一个 session 来立即使其无效。

关于java - request.getSession 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4194006/

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