现在遇到的实际的问题:
用户A登陆网页,初始化session,页面的值显示的是A的session值
用户退出
浏览器不关掉
用户B登陆网页,初始化session,页面的值还是显示的是A的值只有把浏览器关掉了
重新开一个浏览器,B登陆,才能正常。session获取的方式:  session.setAttribute("SAP",sapData);
能否判断一下如果是同一个回话(也就是同一个浏览器),能把在session的原来的SAP值清除掉

解决方案 »

  1.   


       if(session.getAttribute("SAP")!="")
         session.getAttribute("SAP")="";
       session.setAttribute("SAP",sapData); 加上if判断会报错
      

  2.   

    session.invalidate();
    让session失效
      

  3.   


    if(session.getAttribute("SAP")!=null)
    session.invalidate();  
    session.setAttribute("KPI",kpiData); 加这个条件没有报错 但没有达到清除session的目的
      

  4.   

    你的意思是
    if(session.getAttribute("SAP")!=null&&(!"".equals((String)session.getAttribute("SAP"))))
       session.setAttribute("SAP",sapData);为什么要加判断呢?登录的时候直接用最新的sapDate覆盖就可以了,只需要最后一句
      

  5.   

    session.setAttribute("SAP",sapData); 
    只有这一句,实践证明是不可以的,不能覆盖最新的
      

  6.   

    按理说session.invalidate()就行了,那么退出时再加一个:session.setAttribute("SAP",null);试试