DAO中的tx=session.beginTransaction(); 放到try上边试试?

解决方案 »

  1.   

    那个session.beginTraction,变量session=null值吧,应该new一个.
      

  2.   

    tq09umn:
    你说session要new()一下能说清楚点吗我刚学谢了
    在哪边new在线等
      

  3.   

    为啥我在Dao中通过form.getname()得到的是空值啊这是啥原因啊
      

  4.   

    报的是没有初始化的错误
    是不是Query   query=session.createQuery(sql);
    没有初始化呢,可以在给别的值初始化的位置做一下初始化呢,
    Query query=null;
    不知对不对。
      

  5.   

     问题解决了
    主要的问题是要搞清楚jsp action Dao hibernate之间的关系
    把jsp和form看成是前台
    action是处理层
    Dao和hibernate是持久层
    jsp登陆页面中的数据只有在action中进行处理
    Dao中一般是一些方法体,在action用参数进行处理
    同样谢谢大家了
      

  6.   

    action改一下,
    这句不要LoginForm   loginForm   =   (LoginForm)   form;//   TODO   Auto-generated   method   stub 
    这样改
    String name=request.getParameter("name");
    String password=request.getParameter("password");LoginForm loginForm=new LoginForm();
    loginForm.setName(name);
    loginForm.setPassword(password);提交页面上 
    name文本框 <input type="text" name="name" id="name"/>
    password文本框<input type="psssword" name="password" id="password"/>这样你试看,我想在你Dao中通过form.getname()肯定能得到值
      

  7.   

    都没把表单里的值存在FROM对象里,怎么可能用FROM.getName();
      

  8.   

    感觉好奇怪的...怎么不在DAO里面的方法加上一个参数呢....这样直接传一个对象参数不是很好...而且模块之间也分的比较清楚...
    还有代码中的.SESSION好像没有初始化...我不知道能否通过tx=session.createTranstraction();的方法是不是能默认地帮你初始化一个session了...
      

  9.   

    static{ 
    try{ 
    Configuration config=new Configuration().configure(); 
    sessionFactory=config.buildSessionFactory(); 
    }catch(Exception e){ 
    System.out.println(e.getMessage()); 

    Configuration config=new Configuration().configure(); 
    sessionFactory=config.buildSessionFactory(); 
    改成:
    Session s;
    Transaction tx;
    s=hbSessionFactory.getSession();
    tx=s.beginTransaction();
    试试
      

  10.   

    你想做验证可以在LoginForm里面直接添加方法就行了
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request){}