Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JAVA中更改会话ID而不使当前会话无效_Java_Session - Fatal编程技术网

如何在JAVA中更改会话ID而不使当前会话无效

如何在JAVA中更改会话ID而不使当前会话无效,java,session,Java,Session,我希望在每次请求服务器后更改会话ID而不使会话无效,并保留所有会话变量而不使其无效。 因为我使用单次登录来限制用户多次登录,在会话创建时将标志is_login更改为true,在会话侦听器的帮助下销毁会话时将其更改为false。每次请求之后,我都会使会话失效,以生成新的会话ID。我可以在JAVA中更改会话而不使其失效吗 因为Java EE 7和Servlet API 3.1(Tomcat 8)可以用来实现这种行为 还有一个监听器HttpSessionIdListener,每次更改后都会调用它。为什

我希望在每次请求服务器后更改会话ID而不使会话无效,并保留所有会话变量而不使其无效。
因为我使用单次登录来限制用户多次登录,在会话创建时将标志is_login更改为true,在会话侦听器的帮助下销毁会话时将其更改为false。每次请求之后,我都会使会话失效,以生成新的会话ID。我可以在JAVA中更改会话而不使其失效吗

因为Java EE 7和Servlet API 3.1(Tomcat 8)可以用来实现这种行为


还有一个监听器HttpSessionIdListener,每次更改后都会调用它。

为什么要这样做?这是一个要求。每次我使会话无效时,我们是否可以有效地减少数据库操作。