空指针异常问题

m0_37750839 2017-12-12 01:36:42
// if (!user.equals("")) 出现空指针异常 user是调用login

public User login(String username, String password) {
SQL = "select * from login_info where username = ? and password = ?";
Connection connection = null;
PreparedStatement pstmt = null;
try {
connection = DBDao.getConnection();
pstmt = (PreparedStatement) connection.prepareStatement(SQL);
// 这里的意思将用户名和密码填到SQL语句的问号处
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rSet = pstmt.executeQuery();// 得到数据库的查询结果,一个数据集
// 判断结果集是否有效
if (rSet.next()) {
User user = new User();
user.setUsername(rSet.getString("username"));
user.setPassword(rSet.getString("password"));
System.out.println(user);
}
connection.close();
pstmt.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
DBDao.closeConnection(connection);
}
return user;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取用户名和密码
String username = MD5.getMD5(request.getParameter("username"));
String password = MD5.getMD5(request.getParameter("password"));
String type = request.getParameter("type");
String checkcode=request.getParameter("checkCode");
Connection conn = (Connection) DBDao.getConnection();
DBDao.closeConnection(conn);
if (username == null || username.trim().isEmpty()) {
System.out.println("1");
request.setAttribute("msg", "用户名为空");
request.getRequestDispatcher("/login.jsp").forward(request,
response);
return;
}
if (password == null || password.trim().isEmpty()) {
System.out.println("2");
request.setAttribute("msg", "密码为空");
request.getRequestDispatcher("/login.jsp").forward(request,
response);
return;
}
if(checkcode.equals("")||checkcode==null){
request.setAttribute("msg", "请输入验证码");
}
// 获取UserDao实例
UserDao userDao = new UserDao();

User user = userDao.login(username, password);

// 判断user是否为空
if (!user.equals("")) {
if ("2".equals("type")) {

// getRequestDispatcher()是请求转发
request.getRequestDispatcher("Manager.jsp").forward(request,
response);
} else {
request.getRequestDispatcher("Student.jsp").forward(request,
response);
}
} else {
// 登录失败
request.getRequestDispatcher("LoginFail.jsp").forward(request,
response);
}
}
...全文
78 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

10,606

社区成员

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

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