当我输入空用户名和密码时,登录页面在JSp中不起作用

时间:2014-01-21 11:28:49

标签: java jsp

<%@ page import="java.sql.*"%>
<%
    String userid = request.getParameter("uname");
    String pwd = request.getParameter("pass");
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection(
            "jdbc:mysql://localhost:3306/test", "root", "");
    Statement st = con.createStatement();
    ResultSet rs;
    rs = st.executeQuery("select * from members where uname='" + userid
            + "' and pass='" + pwd + "'");
    if (rs.next()) {
        session.setAttribute("userid", userid);
        //out.println("welcome " + userid);
        //out.println("<a href='logout.jsp'>Log out</a>");
        response.sendRedirect("index.jsp");
    }

    else {
        out.println("Invalid password <a href='FirstPage.jsp'>try again</a>");
    }
%>

这是我的登录页面代码。

我正在从数据库验证并检查用户是否存在。 如果用户存在,则登录成功,否则,向用户显示错误消息。 当我尝试使用空的用户名和密码登录时,它也允许登录。

请检查我的代码并告诉我我做错了什么。

1 个答案:

答案 0 :(得分:0)

在进行验证之前,您可以检查空字符串,如:

if(userid == null || pwd == null) {
    request.sendRedirect("home.jsp"); // return; // do what ever you want to exit. }
}