String username = request.getParameter("username");
String password = request.getParameter("password");
DBconn.init();
try {
ResultSet rs=DBconn.getLogin(username, password);
if (rs.next()) {
System.out.println("密码正确");
response.sendRedirect(request.getContextPath() + "/admin/loginSuccess.jsp");
}else {
System.out.println("密码错误");
request.setAttribute("message", "用户名或密码错误!请重新输入!");
request.getRequestDispatcher("/admin/login.jsp").forward(request, response);
}
} catch (SQLException e) {
System.out.println("查询失败");
e.printStackTrace();
}
以上为处理servlet,先获取表单提交的账户和密码,接着调用进行数据库初始化
DBconn.init();
然后将获取的用户名和密码作为参数,调用进行查询数据库
ResultSet rs=DBconn.getLogin(username, password);
详细代码为:
public static ResultSet getLogin(String username,String password) throws SQLException {
String sql ="select * from userlogin where username='"+username+"' and password='"+password+"'";
ps=conn.prepareStatement(sql);
rs = ps.executeQuery();
return rs;
}
在处理servlet当中,返回的rs,当rs.next()为真,说明表userlogin当中存在某用户并且密码正确,反之用户名或密码错误。
当密码正确,跳转到用户界面.
当密码错误,重新跳转回登录界面,并在登录界面显示提示如下图.
在处servlet和登录页面分别使用request和el表达式来显示提示语
request.setAttribute("message", "用户名或密码错误!请重新输入!");
${requestScope.message }