日期:2014-05-18  浏览次数:20740 次

session问题求教
session.getAttribute( "finan ")
session.removeAttribute( "finan ");
第一次用用户A进入系统由action   1创建session进入page页面得到session   finan,然后session.removeAttribute( "finan ")消除该session,退到登陆界面,第二次以用户B直接进入page页面为什么还会得到session   finan?不是已经消除了吗?


------解决方案--------------------
是的,页面中的已经被清除了,但是缓冲区的不一定(也就是说当你页面的buffer没满时,并且flash=true时,这个不一定被清除了)
------解决方案--------------------
楼上的,那应该怎么设置呢?
flash=false????
关注~~
------解决方案--------------------
退出的时候删除session
------解决方案--------------------
session.removeAttribute( "finan "); 只是把值去掉 session还是存在的
用这个session.invalidate() 要不就替代了
------解决方案--------------------
session.invalidate() 使session无效
------解决方案--------------------
刚接触,第一次进来,看不懂5555555
------解决方案--------------------
要我说呀,你判断那个用户的session就像这样
if(session.getAttribute( "finan ")!=null)
------解决方案--------------------
jsp注销用户,用这个session.invalidate();
------解决方案--------------------
session.getAttribute( "finan ")
中fian是全局的,或是其它地方已经存在的,不是用户A创建的,当然消除不了。
------解决方案--------------------
页面上加上 <meta http-equiv= "pragma " content= "no-cache ">
<meta http-equiv= "cache-control " content= "no-cache ">
试试
------解决方案--------------------
看来你对session不是很了解.先去了解一下什么是session,session的生命周期是什么.
user A到你的网站来的时候你的服务器会根据访问者的浏览器ID分配给A一个session,
user B到你的网站同样会在分配给B一个新的session,这两个session绝对不会是前一个A用户的session,或者是同样的session.即使不销毁user A的session user B不也不会拿到这个session.除非你在同一个浏览器中打开一个新的标签来模拟B的登陆.这时服务器检测到的浏览器ID有可能是相同的,所以还会认为是user A 在操作.检验方法是打印session id来看看是不是相同.
------解决方案--------------------
color_wind() 说得对。
------解决方案--------------------
IE7和IE6的区别。