Servlet 报错 java.lang.NullPointerException解决不了

绝尘韫玉 2020-05-12 08:54:19
Servlet 报错 java.lang.NullPointerException
一个由Tomcat部署的数据库Web程序
代码是老师提供的,同学用eclipse跑起来都正常,但是我用IDEA出问题了。
下面的表单POST之后,就报错:

java.lang.NullPointerException
com.action.library.LoginAction.memberLogin(LoginAction.java:12)
com.controller.library.LoginServlet.service(LoginServlet.java:30)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)




<form action="servlet/LoginServlet" method="POST">
<table>
<tr>
<td>Member Number:</td>
<td><input type="text" name="member_no"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>




相关的代码片段如下

public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = -8052223741830167994L;

public LoginServlet() {
}

public void service(HttpServletRequest request, HttpServletResponse response) {
try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException var10) {
var10.printStackTrace();
}

String memberNo = request.getParameter("member_no");
String password = request.getParameter("password");
LoginAction login = new LoginAction();
Member member = login.memberLogin(memberNo, password);
if (member == null) {
try {
response.sendRedirect("/library/login_incorrect.html");
} catch (IOException var9) {
var9.printStackTrace();
}
} else {
request.getSession().setAttribute("member", member);

try {
response.sendRedirect("/library/servlet/RefreshMainPageServlet");
} catch (IOException var8) {
var8.printStackTrace();
}
}

}
}
public class LoginAction {
public LoginAction() {
}

public Member memberLogin(String memberNo, String password) {
DaoManager dm = DaoManager.getInstance();
MemberDao memberDao = (MemberDao)dm.getDao(MemberDao.class);
Member member = null;

try {
dm.begin();
member = memberDao.getMemberByMemberNoAndPassword(memberNo, password);
dm.commit();
} catch (Exception var10) {
var10.printStackTrace();
} finally {
dm.end();
}

return member;
}
}
...全文
1469 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkfly1 2020-05-13
  • 打赏
  • 举报
回复
Member member = login.memberLogin(memberNo, password); 是这一行出错了吧 DEBUG是必备技能,出现错误的行是必须要找到的,是哪个变量出的NULL值。
绝尘韫玉 2020-05-12
  • 打赏
  • 举报
回复
引用 1 楼 darkfly1 的回复:
LoginAction 类的 memberLogin 方法,在12行出现空指针错误。DEBUG一下就知道是什么错了。 实在不行就把第12行发出来,现在看不出来。
12行就是开始的地方,其实代码应该没有什么错,不知道哪里的问题
darkfly1 2020-05-12
  • 打赏
  • 举报
回复
LoginAction 类的 memberLogin 方法,在12行出现空指针错误。DEBUG一下就知道是什么错了。 实在不行就把第12行发出来,现在看不出来。

81,115

社区成员

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

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