为啥在JAVA中session.invalidate()以后会话不为空
在Java中,当调用session.invalidate()方法后,会话其实不会立即被烧毁,而是被标记为无效状态。这是由于在调用invalidate()方法后,会话可能还会被其他线程或其他部份使用。
具体来讲,session.invalidate()方法会将会话标记为无效,并在会话结束时释放预会话相关的资源。但在全部会话结束之前,会话对象依然存在,而且可能依然可以通过其他援用访问。
如果您希望确保会话完全被烧毁,您可以在调用invalidate()方法后立即调用session.removeAttribute()方法,将会话中的所有属性都删除。这样,在会话结束之前,将不再有其他援用可以访问会话对象,从而确保会话完全被烧毁。
TOP