if语句未在JSP scriptlet中执行

时间:2019-01-01 13:40:49

标签: mysql database jsp

我遇到以下问题。我在mysql中创建了一个名为“ users”的表,我想使用JSP添加用户。主键是电子邮件,我想在添加其他用户之前检查该电子邮件是否已经存在。如果电子邮件已经存在,则不会将用户添加到数据库中,并且会显示一条消息“电子邮件已经存在”。

我创建了ResultSet rs对象,并使用while循环将“电子邮件”列提取到字符串电子邮件中。现在,问题来了。假设我有一个使用“ denis@yahoo.com”电子邮件的用户。如果我尝试使用完全相同的电子邮件添加用户,则会发生错误,这意味着我的if语句被忽略。我在调试模式下查找了变量email和Email,它们具有完全相同的“ denis@yahoo.com”,并且仍然忽略了if语句。

<!-- file name: addUser.jsp -->
<%  
        String Email=request.getParameter("Email");
        String Name = request.getParameter("Name");
        String Adress = request.getParameter("Adress");
        String Phone = request.getParameter("Phone");
        if (Email != null) 
        {
             jb.connect(); // connect to the database using JavaBean class
             ResultSet rs;
             rs=jb.seeTable("users");// rs gets first row of table
             String email;
             int a=1;
            while(rs.next())
            {
                email=rs.getString("Email");
                if(Email==email)
                {
                    a=0;
                    jb.disconnect();

 %>
             <p> The email already exists</p>

             <% 
                 break;
                }
            }
              if(a==1){
            jb.addUser(Email,Name, Adress, Phone);
            jb.disconnect();

             %>

    <p>Data has been added.</p>

   <%
    }

         } else {

   %>


    <form action="addUser.jsp" >

       Email:  <input type="text" name="Email"><br>
       Name:  <input type="text" name="Name"><br>
       Adress: <input type="text" name="Adress"><br>
       Phone: <input type="text" name="Phone"><br>
       <button type="submit" >Add User</button><br>
    </form>

<%
}
%>

我使用NetBeans IDE 8.2,在调试模式下出现了一些我认为很奇怪的东西。我尝试测试的一封电子邮件显示为粗体,而另一封邮件则未显示为粗体。

如果我用另一个用户的电子邮件完全相同地添加用户,为什么我的if语句被忽略?请帮帮我!

0 个答案:

没有答案