java.lang.NullPointerException 
at cn.edu.aust.dao.EmployeeTableDAO.findByNameAndPass(EmployeeTableDAO.java:68) 
看看EmployeeTableDAO.java的68行是什么问题,貌似有空指针

解决方案 »

  1.   

    第68行:     return  getHibernateTemplate().find("from EmployeeTable where empName = ? and empPass = ?", args);
    问题是我在application里面调用的也是这个啊,就没报错
      

  2.   

    getHibernateTemplate
    返回了 null;估计是配置文件位置错误,或者没有初始化。
      

  3.   

    applicationContext.xml配置文件放在了WEB-INF文件夹下面,同时web.xml,struts-config.xml,一些.tld文件也在这个文件夹里面。至于初始化,不知道楼上的说的是不是如下的内容:
    web.xml里面的的一部分:
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
    org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>3</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>struts-config.xml里面的一部分:
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
            <set-property property="contextConfigLocation" 
    value="WEB-INF/applicationContext.xml" />
    </plug-in>
    和配置文件有关的地方就这两个了,请各位看看是不是什么地方有疏漏?
      

  4.   

    我也遇到过使用spring+hibernate的时候,在application中测试能完成,但是在web里面就抛出了NullPointerException的异常,有可能是hibernate懒加载机制的问题,我试过在hibernate映射文件中的多对一关系的lazy设置为false就没出错了,你可以试试看是不是这个问题
    我也在初学框架使用,经常遇到一些莫名其妙的问题
      

  5.   

    我刚才又测试了一下我写的那个程序,找到问题的根源了,可能是包冲突的问题,我用的spring2+hibernate3
    在http://topic.csdn.net/u/20080803/20/79c8994d-1ef3-4112-9d02-453d797fb790.html这篇帖子里面有个回复提到了整合Struts2+Spring2.0+Hibernate3.1 注意的问题,Spring2.0+Hibernate3.1 个别的jar包版本有冲突,要删除以下6个jar包:
    asm-2.2.3.jar,asm-commons-2.2.3.jar,asm.jar,asm-attrs.jar,asm-util-2.2.3.jar,cglib-2.1.3.jar 我之前把spring2换成spring1就不会出现空指针异常,今天我试了试删除了那6个jar包就不会出现空指针异常了,说明就是包冲突的问题
      

  6.   

    那可能是配置的问题,用ContextLoaderPlugIn来整合struts1和spring有如下几个步骤1 在struts-config.xml中加入如下配置文件(如果applicationContext.xml在WEB-INF目录下)
      <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
            <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
       </plug-in>
    2 如果是spring2.5的话,加入spring-webmvc-struts.jar包,如果是2.0的话只需加入spring.jar包即可3 在applicationContext.xml中加入如下配置
    <bean name="/listXxx" class="com.xxx.web.ListXxxAction" scope="prototype">
         <property name="myXxxService" ref="myXxxService"></property>
    </bean>
    ......
    4 在ListXxxAction中可以进行直接调用了
    private XxxService xxxService;
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    return mapping.findForward("success");
    Collection<Xxx> xxxs = this.getXxxService().findXxxs(xxx);
    }
    get/set...
    ......
      

  7.   

    上面发现个错误,修改一下,如果applicationContext.xml在WEB-INF目录下,去掉class一级目录
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
            <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
       </plug-in>
      

  8.   

    to yugang1219:非常之不幸,你说的两种我都试了,还是出现上面的错误。我都快疯了,这个问题都困扰了我好几天,太郁闷了
      

  9.   

    我也遇到这个问题,也没解决。
    我的save,update,delete方法都能执行。就是find时出现空指针。
    关注中...
      

  10.   

    肯定是68行哪里出现null值了,参数正确吗?
      

  11.   

    System.out.println(getHibernateTemplate());看是否为空,为空就是配置有问题.
      

  12.   

    又测试了一下:String[] args = {name,pass};
    System.out.println(args[0]);
    System.out.println(args[0]);
    System.out.println(getHibernateTemplate());参数传进去了,没错,但System.out.println(getHibernateTemplate())打印出来的是null,看来是配置问题了,可就是不知道配置文件那里出错了