xu.name='"+name+"'";
你写错了吧! 怎么用id呢!!??

解决方案 »

  1.   

    你的只写了事务的开始没有提交呀,兄弟,
    加一个
    s.commit();
    就可以了
    你现在在action中加上俩句
    system.out.println(username)和System.out.println(password)看一下
     username和password有没传过来,如果我没猜错的话返回的是null
      

  2.   

    1楼:那个ID是没错的,因为XsxtUser用的是ID
    2楼:我的提交用的是一个过滤器
       public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain arg2) throws IOException, ServletException {
    try{
    arg2.doFilter((HttpServletRequest)arg0, (HttpServletResponse)arg1);
    }catch(Exception e){
    e.printStackTrace();
    }finally{
    try{
    HibernateSessionFactory.commitTransaction();
    System.out.println("commit ok!!");
    }catch(Exception e){
    HibernateSessionFactory.rollbackTransaction();
    e.printStackTrace();
    }finally{
    HibernateSessionFactory.closeSession();
    }
    }

    }
    system.out.println(username)不是NULL 而是空指针错误啊
      

  3.   

    还有就是
       String   str="from   XsxtUser   xu   where   xu.id='"+name+"'"; 
    这一句有问题呀
    可以这样的
      String   str="from   XsxtUser   xu   where   xu.id=?"; List   result=s.createQuery(str).setString(0,name).list(); 
      

  4.   

    system.out.println(username)不是NULL   而是空指针错误啊
    跟我说的是一个意思的,空指针错误 是没有值传递过来呀
      

  5.   

    我在我的机子上行的,你id是String类型的吗?
      

  6.   

    最后,我把那个ID换成了LOGIN_ID这样才行。