javax.servlet.ServletException: java.lang.NullPointerException

kevinhanc 2011-04-22 10:46:41
10:34:51,416 WARN RequestProcessor:528 - Unhandled Exception thrown: class java.lang.NullPointerException
2011-4-22 10:34:51 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.Hibernate.util.HibernateUtil.findUser(HibernateUtil.java:41)
at com.struts.action.FindUserAction.finUser(FindUserAction.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
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:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.struts.filter.MyFilter.doFilter(MyFilter.java:24)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)


at com.struts.action.FindUserAction.finUser(FindUserAction.java:23)
public ActionForward finUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
UserForm uf = (UserForm) form;
String strUserName = request.getParameter("UserName");
String strPwd = request.getParameter("PWD");
List list = HibernateUtil.findUser(strUserName, strPwd);
request.getSession().setAttribute("list", list);
User user = new User();
if ((list != null) && (!(list.isEmpty()))) {
for (int i = 0; i < list.size(); ++i) {
user = (User)list.get(i);
String strUsername = user.getUserName();
String strUserPurview = user.getPurview();
String strUserbranch = user.getBranch();
uf.setUserName(strUsername);
uf.setUserPurview(strUserPurview);
uf.setUserbranch(strUserbranch);
request.getSession().setAttribute("uform", uf);
request.getSession().setAttribute("username", strUsername);
}

return new ActionForward("/findMenuAction.do?method=findMenu");
}
else
return new ActionForward("/unsuccess.jsp");
}
}



at com.Hibernate.util.HibernateUtil.findUser(HibernateUtil.java:41)
public static List findUser(String strUserName, String strPwd)
{
Transaction tx = null;
List list = null;
try {
session = hib.openSession();
tx = session.beginTransaction();
Query query = session.createQuery("from User as u where u.userName=:strUserName and u.pwd=:strPwd");
query.setString("strUserName", strUserName);
query.setString("strPwd", strPwd);
list = query.list();
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return list;
}

求各位大侠赐教,到底哪里出了问题。不胜感激啊~
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bunrise 2011-04-22
  • 打赏
  • 举报
回复
HibernateUtil类的第41行代码发出来看看就知道了
kevinhanc 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 acherat 的回复:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at j……
[/Quote]
我也不知道啊,求教求教。
bunrise 2011-04-22
  • 打赏
  • 举报
回复
HibernateUtil.java:41
这是哪一句代码,就是这句代码有null值
调试跟踪到这句代码就可以知道是什么问题了
androidmvc 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kevinhanc 的回复:]
引用 1 楼 wiloveryou123456789 的回复:
debug 跟踪一下你的 finduser action中的。。那个 user 对象。。。

...其次看 你的 finduser dao 中的 list 跟踪。。。到这个 list 看结果是不是 null
、、、


按你的办法做了,但出来一堆东西,根本看不明白。救命啊~
[/Quote]

说清楚写。。什么 叫看不明白???

debug 你不会用 ???要是不会的话。。先百度一下。。这个东西 就不用别人来教了吧。。。。

会用了debug 。。再看。。具体的。。数据信息。。。就好办多了。。
AcHerat 2011-04-22
  • 打赏
  • 举报
回复
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)

看看第一个invoke()和后边三个有神马不同!!!
kevinhanc 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wiloveryou123456789 的回复:]
debug 跟踪一下你的 finduser action中的。。那个 user 对象。。。

...其次看 你的 finduser dao 中的 list 跟踪。。。到这个 list 看结果是不是 null
、、、
[/Quote]

按你的办法做了,但出来一堆东西,根本看不明白。救命啊~
androidmvc 2011-04-22
  • 打赏
  • 举报
回复
debug 跟踪一下你的 finduser action中的。。那个 user 对象。。。

...其次看 你的 finduser dao 中的 list 跟踪。。。到这个 list 看结果是不是 null
、、、
bunrise 2011-04-22
  • 打赏
  • 举报
回复
这句话出错不太可能,你把你QQ短信发给我,我教你debug吧
kevinhanc 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lxd520123 的回复:]
HibernateUtil.java:41
这是哪一句代码,就是这句代码有null值
调试跟踪到这句代码就可以知道是什么问题了
[/Quote]

public static List findUser(String strUserName, String strPwd)
{
Transaction tx = null;
List list = null;
try {
session = hib.openSession();
tx = session.beginTransaction();
Query query = session.createQuery("from User as u where u.userName=:strUserName and u.pwd=:strPwd");
query.setString("strUserName", strUserName);
query.setString("strPwd", strPwd);
list = query.list();
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback(); }
return list;
}

是红色这句啊,我是初学者,不太懂得DEBUG的使用方法。我设置了断点,然后用DEBUG SERVER启动了,但是我没发现有属性的值这样的数据,都是一堆异常的语句。OH NO ~

81,092

社区成员

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

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