Когда пользователь регистрируется на моей странице, я хочу, чтобы в базу данных вставлялся только уникальный идентификатор электронной почты. Для этого я уже установил свой столбец emailid как уникальный. Но я хочу, чтобы, когда пользователь пытается ввести идентификатор электронной почты, который уже существует в базе данных, он должен быть перенаправлен на страницу регистрации.
Ниже приведен мой код, но он просто не работает.
@WebServlet({"/RegistrationServlet"})
public class RegistrationServlet extends HttpServlet
{
Statement st = null;
private static final long serialVersionUID = 1L;
public RegistrationServlet() {}
UserData ud = new UserData();
String email99 = ud.getEmail();
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
ud.setFirst_name(request.getParameter("f1"));
ud.setLast_name(request.getParameter("l1"));
ud.setUname(request.getParameter("uname"));
ud.setPhone(request.getParameter("p1"));
ud.setEmail(request.getParameter("e1"));
ud.setUser_dob(request.getParameter("udate"));
ud.setPassword(request.getParameter("pwd"));
ud.setConfirm_password(request.getParameter("cpwd"));
if (ud.getConfirm_password().equals(ud.getPassword())) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?autoReconnect=true&useSSL=FALSE", "root", "password");
st = con.createStatement();
String query1 = "select email from users";
ResultSet rs = st.executeQuery(query1);
while(rs.next()) {
String ename = rs.getString("email");
System.out.println("DB Email IDs:- "+ename);
if(ename.equals(email99)) {
response.sendRedirect("Register.jsp");
}
else {
writeData();
}
con.close();
rs.close();
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}