Jakarta ee 在Glassfish中永不过期的会话何时将被销毁?
我正在使用Glassfish 3,只要浏览器窗口打开,我希望会话永远不会过期。根据需要,可以在Jakarta ee 在Glassfish中永不过期的会话何时将被销毁?,jakarta-ee,glassfish,Jakarta Ee,Glassfish,我正在使用Glassfish 3,只要浏览器窗口打开,我希望会话永远不会过期。根据需要,可以在web.xml中调整会话超时。我可以将它设置为0,它将永远不会过期 但我不确定这意味着什么。假设用户已登录,几个小时后,他只需关闭浏览器窗口。在这种情况下,服务器上的会话会发生什么?它会是一个匿名会话,它会留在记忆中,还是会被玻璃鱼杀死?或者当用户显式注销时,它会被销毁吗 那么,Glassfish什么时候会使一个永不过期的会话失效呢?正如这个词所描述的:永不 从servlet规范: 根据定义,如果会话的
web.xml
中调整会话超时。我可以将它设置为0,它将永远不会过期
但我不确定这意味着什么。假设用户已登录,几个小时后,他只需关闭浏览器窗口。在这种情况下,服务器上的会话会发生什么?它会是一个匿名会话,它会留在记忆中,还是会被玻璃鱼杀死?或者当用户显式注销时,它会被销毁吗
那么,Glassfish什么时候会使一个永不过期的会话失效呢?正如这个词所描述的:永不
从servlet规范:
根据定义,如果会话的超时期限设置为-1,则
会话将永远不会过期
您也可以在的文档中阅读
以及:
会话配置定义此站点的会话参数
应用子元素会话超时定义默认值
在此网站中创建的所有会话的会话超时间隔
应用指定的超时必须以整体表示
分钟数如果超时为0或更少,容器将确保
会话的默认行为是永不超时。如果此元素
如果未指定,则容器必须设置其默认超时期限
关于:
假设用户已登录,几个小时后,他将直接关闭
浏览器窗口。在这种情况下,在会议上会发生什么
服务器?会不会是一个匿名会话,它会留在内存中,
还是会被玻璃鱼杀死?还是仅仅如此
当用户显式注销时销毁
服务器(在大多数情况下)不知道也不关心浏览器窗口是否打开,因此关闭浏览器窗口不会改变任何会话状态。会话将只保留在Glassfish的内存中,直到应用程序被取消/重新部署或应用程序服务器关闭
另请参见:
谢谢您的回答。我读过另一条线。但我只是想知道,为什么任何人都应该使用永不过期的会话,而它只是随时间加载内存?但也许我不知道这些课程是如何运作的。假设有人关闭了电脑,一天后又回到了网站。会话将从内存中恢复还是实例化一个新会话?这仅仅是与cookies的区别吗?我想,我必须阅读更多关于会话如何工作的内容。是的,会话是用cookies标识的。但是大多数web应用程序使用所谓的会话cookie,当浏览器关闭时,该cookie将被删除。如果重新打开浏览器并访问web应用程序,将创建一个新会话,您将获得一个新cookie,但旧会话也会保存在服务器的内存中。