ssh里空指针异常的是怎么引起的,该怎么解决
3个回答
展开全部
最常见的地方就是:dao层返回来的值为null.
action调用业务层,业务层调用dao层,所以就略去业务层了再说重点。
比如:
---dao层里方法 getStudent():
List daoList = null;
try{
list = 查询语句块;
}.......
return list;
-----action里面:
StudentDao sDao = new StudentDao();
List list = sDao.getStudent();
System.out.println(list.size()); ---(空指针异常的报错点)
走一遍程序:如果dao层没有查到数据或者异常,daoList就为null了,返回的也就是null了;
因此,action类里的list就为null,造成list.size()报错空指针异常。
而一个为null的东西却要调用一个size()方法,当然就报错了。空指针异常都是这样的,很好找到源头。 够直观够简洁好理解不?
action调用业务层,业务层调用dao层,所以就略去业务层了再说重点。
比如:
---dao层里方法 getStudent():
List daoList = null;
try{
list = 查询语句块;
}.......
return list;
-----action里面:
StudentDao sDao = new StudentDao();
List list = sDao.getStudent();
System.out.println(list.size()); ---(空指针异常的报错点)
走一遍程序:如果dao层没有查到数据或者异常,daoList就为null了,返回的也就是null了;
因此,action类里的list就为null,造成list.size()报错空指针异常。
而一个为null的东西却要调用一个size()方法,当然就报错了。空指针异常都是这样的,很好找到源头。 够直观够简洁好理解不?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空指针异常就是使用了为为初始化的对象,好好检查下吧,最好是在设计程序的时候在可能出现空指针异常的地方捕获一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般都是你用了spring后service层中dao层的引用还用new,当然还有其他可能性,最好吧出错的地方贴出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询