String role = request.getParameter("role");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/lms?zeroDateTimeBehavior=convertToNull","username","123456");
switch (role)
{
case "Student":
PreparedStatement ps1 =con.prepareStatement("select * from user where User_ID=? and U_Password=?");
ps1.setString(1, account);
ps1.setString(2, password);
rs =ps1.executeQuery();
st = rs.next();
if(st)
{
rd = request.getRequestDispatcher("UserHomePage.jsp");
rd.forward(request, response);
}
else
{
out.println("ID or Password incorrect");
rd = request.getRequestDispatcher("index.jsp");
rd.include(request, response);
} break;
最大的可能是密码进入数据库是加密的,没有结果,不然st 不能为false
我觉得楼上的回答有可能,你把密码加密后和数据库中比较
akka提供了两个关于时长的数据类型:Duration 和 Deadline,比如5秒钟这种含义。
Duration.Inf表示无限,Duration.MinusInf表示负无限
Deadline, 表示一个绝对的时间点,意义是最终期限,并且支持通过计算当前时间到deadline之间的差距来生成Duration
调试呗,看哪一步进行了对密码的改变