如果我在请求中设置属性值,之后我调用session.invalidate()
,属性值会发生什么?他们会在那里吗?
答案 0 :(得分:8)
它们仍将在内存中,但它们不再被问题HttpSession
引用。即<{1}}以后无法访问 。
一旦垃圾收集器运行并且这些对象没有任何其他类/实例的任何其他引用,那么它们最终将被销毁并释放内存。
答案 1 :(得分:2)
请求和会话是两回事。在您提供请求之前,请求中设置的属性将可用。完成后,所有值都将消失。
会话中的属性将一直存在,直到会话过期或您明确调用invalidate。其中任何一个都将终止当前会话并在下一个请求之后创建一个新会话。