当response.sendRedirect与Javascript一起使用时,JS代码不起作用。我的目标是在登录凭据错误的情况下使用户停留在同一页面上,而是转到空白页面。如果登录错误,则JS代码将运行并重定向到空白页。我希望它保留在同一页面上。
这是HTML / CSS代码。
$ perl -MText::Wrap -lpe '$_ = wrap("", "\t\t\t", $_); s/ # /\t/;' test.txt
答案 0 :(得分:1)
我不是专家,但是您的代码中有很多问题,我想分享我的想法。
虽然您使用rs.next()来遍历用户名和密码集, 您存储它的字符串(即s3和s4)将被覆盖。 如果要存储所有条目而不是字符串,请使用ArrayList,然后检查用户名和密码。但是这种方法不是很好。相反,我建议使用以下代码检查数据库中的值。
您的“ if and else”语句错误,您正在检查s1和s2是否为空,然后在确实为空的情况下不对其进行任何操作。此外,如果您希望以错误的用户名和密码弹出JS警报,则仅执行最后2个“ else”语句中的一个,而不执行两个语句。
String uname=request.getParameter("Username");
String passwd=request.getParameter("Password");
PreparedStatement ps;
ResultSet rs;
ps=con.prepareStatement("select * from log where username=? and user_password=?");
ps.setString(1, uname);
ps.setString(2, passwd);
rs=ps.executeQuery();
if(!rs.next())
{
// Your code if username and password don't match
// Use only one: JS redirect code or the JSP redirect code
//JS alert code here
}
else
{
// Your code if username and password match
// Use only one: JS redirect code or the JSP redirect code
}
将来,请尝试根据需要在适当的参数和返回类型中,在单独的Java类方法中保持数据库与数据检索方法的连接,并在需要时在JSP页面上调用它们。