你最好是把整个Action类都贴出来看看

解决方案 »

  1.   

    request.getSession();就行了,我一直这么用
      

  2.   

    你的程序是应该返回true啊,你再仔细看看,session一直存在的
      

  3.   

    我和你的问题一样就是登陆的时候setAttribute了
    但是在验证的时候总是
    session总是,重新创建了,
    用getAttribute根本就得不到原来那个session.setAttribute的值
    请问怎么办呀,帮你UPUP
    狂up
      

  4.   

    if  (session.getAttribute(Variable.CURRENTUSER)  !=  null)  {  
         session.removeAttribute(Variable.CURRENTUSER);  
         return  true;  
    }  
    逻辑不对了,不是NULL才删除!
      

  5.   

    bluesky35(蓝天)
    我觉得这个remove不是关键吧. 既然是null了,那么是否remove掉是否有什么关系吗.
    之前也曾经试了把这行注释掉, 还是同样的majy(不上不下) 
    session.getAttribute(Variable.CURRENTUSER)  ==  null 就直接返回true了,怎么还是存在呢
    Action类的代码是这样来着public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) {    if(ClassUtil.checkSession(request)){
    System.out.println("Empty");
    return ... 
        }
        ...这里ClassUtil是单独定义的类. 目前里面只有checkSession 这个方法.方法代码在顶楼贴出来过了.
    这个Action执行之后 if() 的条件一直是true.郁闷啊
      

  6.   

    呵呵,debug一下看看在什么地方丢失了session
    如果是连接造成的,那么使用request.encodeURL(url)进行连接