【发布时间】:2011-09-20 12:05:27
【问题描述】:
如果我在请求中设置了属性值,然后我调用session.invalidate(),属性值会发生什么?他们还会在那里吗?
【问题讨论】:
如果我在请求中设置了属性值,然后我调用session.invalidate(),属性值会发生什么?他们还会在那里吗?
【问题讨论】:
它们仍会在内存中,但它们不再被有问题的HttpSession 引用。 IE。 HttpSession 不再无法访问了。
一旦垃圾收集器运行并且这些对象没有任何其他类/实例的任何其他引用,那么它们最终将被销毁并释放内存。
【讨论】:
请求和会话是两个不同的东西。请求中设置的属性将可用,直到您为请求提供服务。完成后,所有值都将消失。
会话中的属性将一直存在,直到会话过期或您显式调用无效。其中任何一个都将终止当前会话并在下一次请求时创建一个新会话。
【讨论】: