java.lang.NullPointerException

严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.zero.space.action.LoginAction.execute(LoginAction.java:52)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
错误指向这里
[code="java"] TblUser item = userBiz.login(tblUser);[/code]

使用了SSH,使用在web.xml中配置spring与Struts的 集成,
[code="xml"]
contextConfigLocation
/WEB-INF/application*.xml,classpath*:application*.xml


org.springframework.web.context.ContextLoaderListener
[/code]

applicationcontext.xml中的相应配置是这样的
[code="xml"]









class="org.springframework.orm.hibernate3.HibernateTransactionManager">




<!-- 定义事务通知 -->

tx:attributes






/tx:attributes
/tx:advice
aop:config


/aop:config[/code]
[b]问题补充:[/b]
配置了的啊 这里就是了
[code="xml"]

[/code]
[b]问题补充:[/b]
[code="xml"] input="/jsps/login.jsp"
name="loginForm"
path="/jsps/login"
type="org.zero.space.action.LoginAction">

[/code]

相应的action 配置是这样的.
[b]问题补充:[/b]
[code="java"]TblUser item = userBiz.login(tblUser);[/code]

这就是那个错误的52 的代码.
[b]问题补充:[/b]
这是我在LoginAction 的属性和方法:
[code="java"]private IUserBiz userBiz = null;

public void setUserBiz(IUserBiz userBiz) {
    this.userBiz = userBiz;
}[/code]

这是我在UserBizImpl 类中的属性和方法

[code="java"]private IUsersDAO usersDAO = null ;

public void setUsersDAO(IUsersDAO usersDAO) {
    this.usersDAO = usersDAO;
}[/code]

其实都是配置了的 ,搞不懂了
[b]问题补充:[/b]
哪行错了 这我当然知道 , 可问题怎么解决.

别小看java.lang.NullPointerException

想看出问题来再说话 , 请不要无端的指责
[b]问题补充:[/b]
发帖之前就Bebug 过了, 到了
TblUser item = userBiz.login(tblUser);

的时候就 出现了 .class 文件了 我怀疑是userBiz 没有这个调用到 login() 这个实际的方法, 但是配置方法 如上面所示 , 都配置了 , 是在找不出问题在哪
[b]问题补充:[/b]
正是这样的,我以前以为在web.xml中配置监听器的话 , struts-config.xml中就不需要修改什么了,其实这里还是需要修改的.

但是同时也发现,web.xml 中的监听器配置 也不会比 在struts-config.xml 添加plug-in强多少.

昨天自己发现的, 今天也有朋友找出问题了,呵呵

<action

input="/jsps/login.jsp"

name="loginForm"

path="/jsps/login"

type="[color=red]org.springframework.web.struts.DelegatingActionProxy[/color]">

LoginAction 没有在Spring里面配置userBiz的ref

struts的配置呢,搞出看看,

LoginAction.java:52 第52行的代码是什么?

检查LoginAction里是否有属性userBiz的setter方法,UserBizImpl里是否有属性usersDAO的setter方法。建议Debug方式运行一下,跟踪检查出具体是哪个对象为空。

可以的话我远程帮你看3990995

建议: 这种空指针问题每个人都要自己解决的,
而不是碰到空指针就贴满屏代码来提问 。

最起码也要自己找出哪里空指针吧 ?
Debug都不用的人 赶紧换行业吧 。

Over-

LoginAction.java:52 代码的出错行数都有了。。还在这里问

java.lang.NullPointerException 出那一行。你调试一下,是不是对象为空。

Bebug 到class 把这个工程增加进来。不就可以了继续调试了

我明天再帮你看看.肯定可以帮你解决

首先你错误指向这一句----
[code="java"]
TblUser item = userBiz.login(tblUser);

[/code]
这行代码中出现3个对象,如果是item为Null不可能报NullPointException,tblUser为空那NullPointException也应该在login里面报出来,排除法,userBiz为null,你先试着把

[code="java"]private IUserBiz userBiz = null; [/code]
去掉,仔细看看控制台,在NullPointException之前有没有报其他错误,
怀疑你的userBiz没有实例化成功,userBiz到DAO的配置都没有问题,有可能sessionFactory就没有构造成功,看看有没有相关的异常消息,检查你的applicationContext.xml中sessionFactory的相关配置有没有问题

囧rz,lz还真不够虚心的。

既然是空指针,我只是想问您,
您说您Debug过了,我怎么没见你贴出来到底哪个对象是null ?
.class就不能debug了 ?

Ps:这种空指针问题本来就不该让别人来解决的,
最起码你也得找到是那个为空,
然后自己说下可能是哪里出问题,
然后才让别人来解决,谢谢。

npe异常不是这样子查错的吧;
debug过去,看哪个丢出来的

你的Action对象实例化有问题吧,看看Action交给谁来管理的,是Spring还是Struts,好好配制一下。!!!