关于session中存的对象

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:47:23
我在session中传了个对象user
对象user中的name在登陆以后在某个模块里变了,然后我去了其他模块,在其他模块里session的user对象name属性居然变了,请问怎么回事?我并没有重新往session里仍user对象啊?

在session中存放的是引用..

就像你给张三一把你家的钥匙..

你又给李四一把你家的钥匙..

然后不管是张三还是李四.把你家冰箱里的东西吃光了,你家冰箱都是空的.

除非你.张三.李四.所有有钥匙的人中有一个给你往冰箱里放东西了.

session 就好像是一个仓库,大家都共享这一个仓库,

那么不管你去什么地方,只要页面没有关闭过,这个时候,session还在,那么你使用session.getAttribute(“名称”)得到的值,只要名称相同,得到的值就相同

这不就是大家共享session中的对象的佐证么?
你难道希望它不变么?

name是不会变的 你看到的可能是另外一个session对象

你取user 还是取得到

....

不可能,你一定重新赋值了,只是你没看到

引用!
C玩多了吧!