如何检查会话是否存在?

2022-09-01 19:44:00

我正在使用创建会话

HttpSession session = request.getSession();

在创建会话之前,我想检查它是否存在。我该怎么做?


答案 1

如果要在创建之前检查此项,请执行以下操作:

HttpSession session = request.getSession(false);
if (session == null) {
    // Not created yet. Now do so yourself.
    session = request.getSession();
} else {
    // Already created.
}

如果您在创建不关心检查这一点,那么您也可以这样做:

HttpSession session = request.getSession();
if (session.isNew()) {
    // Freshly created.
} else {
    // Already created.
}

这将保存一行和一个 .request.getSession()request.getSession(true) 执行相同的操作boolean


答案 2

有一个函数 request.getSession(布尔创建)

参数:
- 如有必要,为 true 为此请求创建新会话;如果当前会话不存在,则为 false 返回 nullcreate

因此,如果会话不存在,您可以简单地传递以告诉 返回 null。falsegetSession


推荐