空指针异常!! 百思不解帮帮!!

roqheo0423 2010-10-10 01:29:22
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
at org.hibernate.type.EntityType.resolve(EntityType.java:303)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
at org.hibernate.loader.Loader.doQuery(Loader.java:717)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at com.kgp.dao.impl.SysUserDaoImpl.GetSysUserByUser(SysUserDaoImpl.java:46)
at com.kgp.biz.impl.SysUserBizImpl.GetSysUserByUser(SysUserBizImpl.java:39)
at com.kgp.web.action.UsersAction.loginCheck(UsersAction.java:34)
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 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)


String hql = "select u from SysUser u where u.usrName like ? and u.usrPassword like ?";
super.getHibernateTemplate().find(hql,new String[]{user.getUsrName(),user.getUsrPassword()});



private SysUserBiz userBiz;
public void setUserBiz(SysUserBiz userBiz) {
this.userBiz = userBiz;
}
public ActionForward loginCheck(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
SysUserForm userF = (SysUserForm) form;
SysUser user = userBiz.GetSysUserByUser(userF.getUser());
System.out.println(user.getUsrName());
System.out.println(user.getUsrId());
return null;
}
...全文
185 点赞 收藏 22
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yylaob 2010-10-11
LZ代码没有贴完,还是不好找
先不说别的
SysUser user = userBiz.GetSysUserByUser(userF.getUser());

看了你贴出来的代码,你的userBiz这个对象什么时候初始化了???
回复
shengfengluanshi 2010-10-11
注入有错?
回复
jypapgl 2010-10-11
貌似 action 初始化的问题,
回复
a21768541 2010-10-11
at com.kgp.dao.impl.SysUserDaoImpl.GetSysUserByUser(SysUserDaoImpl.java:46)
at com.kgp.biz.impl.SysUserBizImpl.GetSysUserByUser(SysUserBizImpl.java:39)
at com.kgp.web.action.UsersAction.loginCheck(UsersAction.java:34)
看看这3行。。。
回复
daifangci 2010-10-11
看看你的数据库里面有没有值,然后看看你的变量是否赋值哈,多多调试
回复
androidmvc 2010-10-11
代码 贴出来 。。。。看了 一下 发现你用了 hibernate 。。。。
回复
ruru521elva 2010-10-11
貌似也不会 坐坐 沙发 重
是不是没有依赖注入,可能引发空异常
新安装
回复
qq_992784113 2010-10-11
是不是没有依赖注入,可能引发空异常
回复
xuebuhuiJava 2010-10-10
发发牢骚,
哎!
害怕,现在看到这些密密麻麻的"鬼文"都脑袋疼,最近刚辞职,不想做程序员,杯具!
回复
sowuqing 2010-10-10
你看你的form里的实体类实例化了没有,最好实例化一下,可能是数据根本就没有从页面里穿到action里,这种错一般都看不出来在哪儿的。
回复
kebin0001 2010-10-10
所以執行到這個method裡面而且是第46行出錯,再往上追
at com.kgp.dao.impl.SysUserDaoImpl.GetSysUserByUser(SysUserDaoImpl.java:46)\

是第39行呼叫第46行
at com.kgp.biz.impl.SysUserBizImpl.GetSysUserByUser(SysUserBizImpl.java:39)

這裡的第34行呼叫上面的第39行
at com.kgp.web.action.UsersAction.loginCheck(UsersAction.java:34)

起始點是loginCheck 所以能錯的大概就是帳號和密碼抓不到。
回复
roqheo0423 2010-10-10
[Quote=引用 9 楼 zhou961270 的回复:]
System.out.println(user.getUsrName());
System.out.println(user.getUsrId());
你把这两名移到上面去,查询抛异常你运行不到这里啊,怎么能测出来它们是不是为空,
[/Quote]

我是super.getHibernateTemplate().find(hql,new String[]{user.getUsrName(),user.getUsrPassword()});这里报的错误!

System.out.println(user.getUsrName());
System.out.println(user.getUsrId());
还没到这一步就报错
回复
qq240971315 2010-10-10
sss
回复
zhou961270 2010-10-10
System.out.println(user.getUsrName());
System.out.println(user.getUsrId());
你把这两名移到上面去,查询抛异常你运行不到这里啊,怎么能测出来它们是不是为空,
回复
cheng87716 2010-10-10
异常 不好找 程序 可能 由于疏忽 导致 错误啊
回复
roqheo0423 2010-10-10
没有外键的 读取数据 没有问题 有外键的一个表的数据都查不到!! 报异常

为什么呢?
回复
roqheo0423 2010-10-10
[Quote=引用 5 楼 thefirstz 的回复:]
程序加载的时候取表中数据了?
[/Quote]
程序加载时并没有读取数据!。。。
需要验证时 读取数据的!
回复
程序加载的时候取表中数据了?
回复
roqheo0423 2010-10-10
[Quote=引用 3 楼 voice1122 的回复:]
空指针异常通常是表达式中有可能会出现为NULL的情况,检查一下你的表中字段是否允许为空,为空时在程序中需要先处理。
[/Quote]


我的表都可以为空!! 程序中需要给默认值???
回复
voice1122 2010-10-10
空指针异常通常是表达式中有可能会出现为NULL的情况,检查一下你的表中字段是否允许为空,为空时在程序中需要先处理。
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-10 01:29
社区公告
暂无公告