电子邮件已经使用jsp注册?

时间:2015-01-08 05:28:58

标签: java mysql database jsp servlets

我在使用jsp创建程序时遇到问题,检查数据库是否注册了电子邮件。

所以我只是认为我可以使用select * from..,但现在这次我正在努力重定向。

实际上我的程序工作正常但是它有一些问题。如果不存在电子邮件,我想让它成为一种方式,它应该假设欢迎。但什么都没发生。它显示为Blank white page。拜托,请帮帮我吧。我现在认为哪里错了?

这是我的代码:

String user_email=request.getParameter("user_email");

try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/forum", "root", "1234");
    PreparedStatement st=con.prepareStatement("select * from login_system where email=?");
    st.setString(1, user_email);
    ResultSet rs=st.executeQuery();
        while(rs.next()){

            if(user_email.equals(rs.getString("email"))){
                out.print("Email is already registered!!");
            }
            else{
                out.print("Welcome..");
            }
        }
}
catch(Exception e){
    e.printStackTrace();
}
%>

当然,帮助将不胜感激!!

1 个答案:

答案 0 :(得分:0)

如果电子邮件在数据库中,您的查询将只返回一行,如果电子邮件未注册,则不会返回任何行。

您的代码包含两个问题:如果没有返回任何行,rs.next()false,那么您永远不会进入while循环。

如果返回一行,则无需检查电子邮件地址,因为您只选择了数学行。

代码应如下所示:

ResultSet rs=st.executeQuery();
if (rs.next()){
   // we found a row wth the email address
   out.print("Email is already registered!!");
}
else{
  // email not found in database
  out.print("Welcome..");
}