2012-1-10 15:15:38 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at dao.LoginAction.loadAll(LoginAction.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.CheckboxInter我做的一个jsp页面显示数据的系统
index。jsp<html>
  <head><title>数据库显示</title>
  </head>
  
  <body>
   <br><a href="caozuo.jsp">查询</a>
  <a href="zengjia.jsp">增加</a>
  <a href="modif.jsp">修改</a>
  <a href="dele.jsp">删除</a>
  <br><br><br>
 <table>
 <tr>
  <th>序号</th><th>用户名</th><th>密码</th>
 </tr>
 <s:bean name="com.login"></s:bean>
 <s:iterator value="new int[3]" status="status">
 <tr>
 <td><s:property value="#login.id"/></td>
 <td> <s:property value="#login.name"/></td>
 <td><s:property value="#login.password"/></td>
 </tr>
 </s:iterator>
 </table>
   </body>
</html>调用的action类
public class LoginAction implements Action{
   private Login login;
   private UserDaoImpl userDaoImpl;
   private List<Login> logins;
。省略不用代码
public String loadAll() {
logins=userDaoImpl.loadAll();
System.out.print("aaaaaaaaaaaa");
return "SHOW";
dao实现类
@Override
public List<Login> loadAll() {
System.out.print("bbnbbbbbbbbbbbbbbbb");
Session session=HibernateSessionFactory.getSession();
session.beginTransaction();
   Query query=session.createQuery("from login order by id");
    List list=query.list();
    session.getTransaction().commit();
    return list;
}

解决方案 »

  1.   

    java.lang.NullPointerException
    at dao.LoginAction.loadAll(LoginAction.java:29)第29行是你代码中的哪一行啊?
      

  2.   

    logins=userDaoImpl.loadAll();这一行是空的数据Query query=session.createQuery("from login order by id");
    hql: 要大写 找到的是实体类
    from Login order by id还有查询是不需要用到事务的就不用提交和开启事务。
    其实前台页面迭代的是login 
    而你又用logins获取到数据库的信息。我有点迷茫。
      

  3.   

    空指针异常,29行报LoginAction.loadAll的错误
    说明处理已经提交给了Dao,是你重写的 loadAll() 的问题!!!检查一下, loadAll() 返回的List是否为空,还是提交的过程中没有将数据提交上去,或者是什么地方返回了空却又被你提交给了处理方法吧!!!
      

  4.   


    @Override
    public List<Login> loadAll() {
    System.out.print("bbnbbbbbbbbbbbbbbbb");
    Session session=HibernateSessionFactory.getSession();
    session.beginTransaction();
    Query query=session.createQuery("from login order by id");
    List list=query.list();
    session.getTransaction().commit();
    return list;
    }此句改成List<Login> list = (List<Login>)query.list();
    错误原因说你dao实现类里面返回的list是空值,
    在这里加入测试语句System.out.println(list.size());
    如果此处是空值,那就是from login order by id的错误了。
    改成From Login 看看
      

  5.   

    29行就是
    。省略不用代码
    public String loadAll() {
    logins=userDaoImpl.loadAll();--------29行
      

  6.   

    空指针异常:userDaoImpl.loadAll()方法返回的List<Login>为空……
      

  7.   

    userDaoImpl
    这个对象空了兄弟,这对象怎么加载的?spring?