空指针异常,又是空指针异常!!!

zookie 2007-04-19 08:00:12
我现在做的是一个后台管理员登录的系统,但是提示有空指针异常!!异常信息如下:
root cause

java.lang.NullPointerException
com.tytd.argi.persistence.AdminSql.findByPwd(AdminSql.java:46)
com.tytd.argi.business.Admin.getByPwd(Admin.java:35)
com.tytd.argi.struts.action.AdmLogAction.execute(AdmLogAction.java:34)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
...全文
802 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zookie 2007-04-20
  • 打赏
  • 举报
回复
谢谢大家,非常感动!!!csdn还是好人多!!!问题我已经解决了,现在给分!!!
bl_long1 2007-04-19
  • 打赏
  • 举报
回复
把sessionFactory拉出来看下嘛。
backhamx7 2007-04-19
  • 打赏
  • 举报
回复
sessionFactory 为 null 代表加载hibernate的时候有问题,看看加载的时候有木有错?
zookie 2007-04-19
  • 打赏
  • 举报
回复
我打印了一下,sessionFactory 为 null!!!
什么原因!!!
请指教!!!
谢谢
zxm_dgcstars 2007-04-19
  • 打赏
  • 举报
回复
Session session = (Session) HibernateSessionFactory.currentSession();
我怀疑你取session就是null了
scvzhang 2007-04-19
  • 打赏
  • 举报
回复
1 .append("' and e.password1='"). 字段名是password1?
2 session.createQuery(sq.toString()) 是否为空?
建议:在任何操作前,多判断要操作的对象是否为空
bl_long1 2007-04-19
  • 打赏
  • 举报
回复
Session是空的哟。HibernateSessionFactory是不是有个getSession()哟。如果是你自己写的HibernateSessionFactory类,你要确保你那个currentSession是有效的哟。
zookie 2007-04-19
  • 打赏
  • 举报
回复
这是jsp页面中的代码

<TD><INPUT id=adminName
onmouseover="this.style.background='#ffffff';"
style="BORDER-RIGHT: #f7f7f7 0px solid; BORDER-TOP: #f7f7f7 0px solid; FONT-SIZE: 9pt; BORDER-LEFT: #f7f7f7 0px solid; WIDTH: 110px; BORDER-BOTTOM: #c0c0c0 1px solid; HEIGHT: 16px; BACKGROUND-COLOR: #f7f7f7"
onfocus="this.select(); "
onmouseout="this.style.background='#F7F7F7'" maxLength=20
name=adminName></TD>
<TD><INPUT onmouseover="this.style.background='#ffffff';"
style="BORDER-RIGHT: #f7f7f7 0px solid; BORDER-TOP: #f7f7f7 0px solid; FONT-SIZE: 9pt; BORDER-LEFT: #f7f7f7 0px solid; WIDTH: 110px; BORDER-BOTTOM: #c0c0c0 1px solid; HEIGHT: 16px; BACKGROUND-COLOR: #f7f7f7"
onfocus="this.select(); "
onmouseout="this.style.background='#F7F7F7'" type=password
maxLength=20 name=password1></TD>
wangweiquanqq 2007-04-19
  • 打赏
  • 举报
回复
可能是你在这个页面获取上一个页面的表单内容时把name写错了
如上一页的<input type="text" name="name"> 而在这页 在得到这个名字时得到这个值时写成了nema,
类似的例子 你用的是session
imA 2007-04-19
  • 打赏
  • 举报
回复
要么就是sq是空值(但是这个可能性不大)。


应该是你的session是空值,你在程序别的地方已经把currentSession关闭了,所以这里再引用就发生了空指针的错误。
zhaochunhui 2007-04-19
  • 打赏
  • 举报
回复
List result = session.createQuery(sq.toString()).list();//46行
在这行之前把你组合的sql语句打印出来 仔细看看
估计是
String adminName,String password1 其中有一个是null
zookie 2007-04-19
  • 打赏
  • 举报
回复
List result = session.createQuery(sq.toString()).list();//46行
myseven 2007-04-19
  • 打赏
  • 举报
回复
哪一行是46行啊?...
zookie 2007-04-19
  • 打赏
  • 举报
回复
好的,谢谢!!

public List findByPwd(String adminName,String password1) throws HibernateException, net.sf.hibernate.HibernateException{
Session session = (Session) HibernateSessionFactory.currentSession();

StringBuffer sq = new StringBuffer(200);
sq.append("from ")
.append(_class.getName())
.append(" as e where e.adminName='")
.append(adminName)
.append("' and e.password1='").
append(password1).append("'");
System.out.println("AAAAAAAAAA");
List result = session.createQuery(sq.toString()).list();//46行
System.out.println("findByPwd's sql: " + sq.toString());
if(result.size() < 1)
result = new ArrayList();

session.flush();

HibernateSessionFactory.closeSession();

return result;
}
For_suzhen 2007-04-19
  • 打赏
  • 举报
回复
findByPwd()
检查一下这个方法吧
For_suzhen 2007-04-19
  • 打赏
  • 举报
回复
AdminSql.java:46行
空指针异常就在你的这一行抛的吧
能把代码贴出来?
zookie 2007-04-19
  • 打赏
  • 举报
回复
我用的是 hibernate 3.1 + struts 1.1
zookie 2007-04-19
  • 打赏
  • 举报
回复
我再说一下我的开发工具:eclipse 3.2.1 + myeclipse 5.1.0
zookie 2007-04-19
  • 打赏
  • 举报
回复
我再说一下我的开发环境:jdk 1.5.0 + tomcat 5.0.28 + sqlserver 2000

我的机器环境为windows xp sp2

我用的是 struts + hibernate + jsp

请高手解答!!!!

小弟感激不尽!!!
silence1214 2007-04-19
  • 打赏
  • 举报
回复
一般都是参数没写
加载更多回复(1)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧