同时使用JSP和Javascript的问题

时间:2019-03-16 05:06:58

标签: javascript html jsp

当response.sendRedirect与Javascript一起使用时,JS代码不起作用。我的目标是在登录凭据错误的情况下使用户停留在同一页面上,而是转到空白页面。如果登录错误,则JS代码将运行并重定向到空白页。我希望它保留在同一页面上。

这是HTML / CSS代码。

$ perl -MText::Wrap -lpe '$_ = wrap("", "\t\t\t", $_); s/ # /\t/;' test.txt

1 个答案:

答案 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页面上调用它们。