java session名字一样的 都清除

来源:百度知道 编辑:UC知道 时间:2024/06/18 08:27:18
比如有2个用户,用户A(session.setAttribute("name","A")),用户B(session.setAttribute("name","B")), 有什么办法在删除session名字为name的把用户A和用户B的session名字为name都删除,如果没有办法实现,那有没有其他的办法,前提是用户A,B的name值都不一样
我是想说 如果是用户C操作 能不能吧用户A,B session名字为name删除 ,如果SESSION不行,那么有其他办法吗

先来说几个常识
session是保存在服务器端的,是以浏览器为单位进行存放的,所以不同的用户登录之后,如果使用的是同一浏览器(例如IE中的同一窗口但不同选项卡),后存放的session会将先存放的session相同属性名的内容覆盖掉,否则不会覆盖。

所以,想通过不同的用户覆盖其他用户的session值,只有在他们采用同一浏览器登录的时候可以做到。

像你所说的情况,应该是想把服务器中的所有相同属性的值删除掉,只有采用application范围才能做到。

你的session名都是name,后面的会覆盖点前面的,同一个session名只可能存在一个值。
如果你指的3个用户是在不同的地方登陆的话,那就没办法清楚了,session是保存在本地内存中的
哦,对了,关于session的保存位置我一直不是很清楚,到底是保存在服务器端,还是保存在客户端呢?

我们现在看到的都是一样的东西那就是name
其实对于session来说,唯一标示的是id,也就是session的id是不同的
另外session是保存在服务器端的
也就是不同用户使用不同的浏览器登录后产生的session的id是不同的
除非不同用户使用一台机器的统一浏览器
可以实现session的覆盖
至于你所说的删除可以使用
session.removeAttribute("name")
方法是不是这样写我不是特别确定
你可以查一查

天啊 看的我真绕
session名字一样会覆盖掉前面的
一楼都不是告诉你了么?
你要是想删除他们直接注销或是销毁session就行了!

你的session是不同的用户,不能跨线程操作。
除非重启
楼上的:
session是服务器上的一个线程,他对应于每个当前访问的用户(但是session与request的1对多)。