为什么在JAVA中session.invalidate()之后会话不为空

avatar
作者
筋斗云
阅读量:5

在Java中,当调用session.invalidate()方法后,会话并不会立即被销毁,而是被标记为无效状态。这是因为在调用invalidate()方法后,会话可能还会被其他线程或其他部分使用。

具体来说,session.invalidate()方法会将会话标记为无效,并在会话结束时释放与会话相关的资源。但在整个会话结束之前,会话对象仍然存在,而且可能仍然可以通过其他引用访问。

如果您希望确保会话完全被销毁,您可以在调用invalidate()方法后立即调用session.removeAttribute()方法,将会话中的所有属性都删除。这样,在会话结束之前,将不再有其他引用可以访问会话对象,从而确保会话彻底被销毁。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!