现在遇到的实际的问题:
用户A登陆网页,初始化session,页面的值显示的是A的session值
用户退出
浏览器不关掉
用户B登陆网页,初始化session,页面的值还是显示的是A的值只有把浏览器关掉了
重新开一个浏览器,B登陆,才能正常。session获取的方式: session.setAttribute("SAP",sapData);
能否判断一下如果是同一个回话(也就是同一个浏览器),能把在session的原来的SAP值清除掉
用户A登陆网页,初始化session,页面的值显示的是A的session值
用户退出
浏览器不关掉
用户B登陆网页,初始化session,页面的值还是显示的是A的值只有把浏览器关掉了
重新开一个浏览器,B登陆,才能正常。session获取的方式: session.setAttribute("SAP",sapData);
能否判断一下如果是同一个回话(也就是同一个浏览器),能把在session的原来的SAP值清除掉
if(session.getAttribute("SAP")!="")
session.getAttribute("SAP")="";
session.setAttribute("SAP",sapData); 加上if判断会报错
让session失效
if(session.getAttribute("SAP")!=null)
session.invalidate();
session.setAttribute("KPI",kpiData); 加这个条件没有报错 但没有达到清除session的目的
if(session.getAttribute("SAP")!=null&&(!"".equals((String)session.getAttribute("SAP"))))
session.setAttribute("SAP",sapData);为什么要加判断呢?登录的时候直接用最新的sapDate覆盖就可以了,只需要最后一句
只有这一句,实践证明是不可以的,不能覆盖最新的