Session 如何在tomcat中创建新会话并保留旧会话?
现在用户有很多角色在他的权限中,我将允许他单击href并在新窗口中扮演另一个角色。每个角色都有自己的会话 由于浏览器打开窗口不能用新会话打开,我必须在服务器端找到一种方法Session 如何在tomcat中创建新会话并保留旧会话?,session,tomcat,Session,Tomcat,现在用户有很多角色在他的权限中,我将允许他单击href并在新窗口中扮演另一个角色。每个角色都有自己的会话 由于浏览器打开窗口不能用新会话打开,我必须在服务器端找到一种方法 但是request不支持request.createSession或request.setSession(new Session()),如何为此用例分离新会话?您可以按旧会话创建新会话,但不能保留旧会话。以下几点可以帮助你吗 您已经提到,每个角色都有自己的会话 当用户单击角色时,将使当前会话(也是角色)无效,并将创建新会话 如
但是request不支持request.createSession或request.setSession(new Session()),如何为此用例分离新会话?您可以按旧会话创建新会话,但不能保留旧会话。以下几点可以帮助你吗
你没有得到tomcat的支持。你必须自己去做 下一个策略在集群tomcat上不起作用。这里没有保证 切换到新会话
getAttributeNames()
和getAttribute(String)
将会话属性全部添加到HashMap
中,遍历会话属性HashMap
序列化为tempfile或静态并发映射,作为您可以访问后者的内容。还存储当前的HttpServletRequest.getRequestURL()
,以便以后重定向。您有HashMap
进行反序列化HashMap
和setAttribute(字符串,对象)
我懒得自己编写代码并进行测试,但我认为这会奏效。你做不到。浏览器和它们之间的Tomcat决定了什么是会话。不是你。我认为我应该让多个角色打开,这对用户查看和复制粘贴以及其他工作非常有用。为什么你应该坚持使用角色和会话,然后我认为角色+用户名=新用户名。这个问题与如何使用两个不同的帐户登录同一网站相同,每个帐户位于同一浏览器的一个选项卡中。若我让用户注销并作为另一个角色登录,然后重新登录,那个么他在浏览器、滚动条、选择栏和其他页面中的所有状态都将消失。