Servlet.service() for servlet UserServlet threw exception

严重:Servlet.service()forservletLoginServletthrewexceptionjava.lang.NullPointerExceptio... 严重: Servlet.service() for servlet LoginServlet threw exception
java.lang.NullPointerException
at com.cn.serviceImpl.UserServiceImpl.checkUserLogin(UserServiceImpl.java:72)
at com.cn.servelt.LoginServlet.doPost(LoginServlet.java:35)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
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:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

我检查了checkUserLogin方法,不知道哪里出现空对象了,求助
public User checkUserLogin(String loginName, String loginPwd) {
User user=new User();
String sql="select userid,username,userpwd,useradmin from t_user where username = ? and userpwd = ?";
try {
this.getConnection();
ps=conn.prepareStatement(sql);
ps.setString(1,loginName);
ps.setString(2, loginPwd);
rs=ps.executeQuery();
while(rs.next()){
user=new User();
user.setUserId(rs.getInt("userid"));
user.setUserName(rs.getString("username"));
user.setUserPwd(rs.getString("userpwd"));
user.setUserAdmin(rs.getInt("useradmin"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
this.closeResource();
}
return user;

}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String userName=request.getParameter("userName");
String userPwd=request.getParameter("passWord");
//35行 User user=userService.checkUserLogin(userName, userPwd);
HttpSession session=request.getSession();
session.setAttribute("user", user);
展开
 我来答
mikemelon2012
2015-04-30 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:389万
展开全部
不是checkUserLogin方法的问题,

问题在于 这个72行里, userDao是null。

因此,看看你是怎么调用的,看看LoginServlet.java第35行的代码,
at com.cn.servelt.LoginServlet.doPost(LoginServlet.java:35)

如果还看不出来,就把LoginServlet.java第35行及其前后的代码贴一些上来。
追问
我贴上来了,请帮我再看看吧,实在看不出来了
追答
我刚才看到你在那个72行前面有userDao的私有成员变量,不过没有初始化,应该有对应的setter/getter方法。
是不是应该在这个LoginServlet.java第35行前面,调用一下setUserDao之类的方法,不然userDao一定是null啊
流泻的旅途繁华
2015-04-30
知道答主
回答量:8
采纳率:0%
帮助的人:4.9万
展开全部
72是上面哪行~
更多追问追答
追问
发上去了,返回对象不知道为什么为空,有没有可能是jar包冲突或缺少的原因?
追答
可能是因为你finally 关闭了 然后 传的  。关了接口怎么传是把 ,你试试 把finally 里面的 去掉试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式