У меня есть список имен и фамилий в таблице БД. В CustomerCheckIn.jsp пользователь будет вводить сначала имя, а затем фамилию. Если имя и фамилия совпадают с именем и фамилией в наборе результатов, возвращаемом из БД, то должно произойти перенаправление в CustomerInterface.jsp. Сообщение терминала появится, если имя и фамилия не совпадают. В настоящее время происходит перенаправление и сообщение терминала.
Полагаю, проблема в моих операторах if и else.
package MainPackage;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class CustomerExistRedirect
*/
@WebServlet("/CustomerExistRedirect")
public class CustomerExistRedirect extends HttpServlet implements DBAccessVariables {
private static final long serialVersionUID = 1L;
Customer currentCustomer = new Customer();
/**
* @see HttpServlet#HttpServlet()
*/
public CustomerExistRedirect() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
request.setAttribute("firstName", firstName);
request.setAttribute("lastName", lastName);
String strViewPage="CustomerInterface.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(strViewPage);
dispatcher.forward(request, response);
customerExist(firstName, lastName, response);
}
private void customerExist(String firstName, String lastName, HttpServletResponse response) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
PreparedStatement ps = conn
.prepareStatement("select * from Customers WHERE FirstName = ? and LastName = ?");
ps.setString(1, firstName);
ps.setString(2, lastName);
System.out.println(firstName);
System.out.println(lastName);
final ResultSet resultSet = ps.executeQuery();
// Problem Below !!!!!!!!!!!!!!!!!!!!
if (resultSet.next()) {
response.sendRedirect("CustomerInterface.jsp");
} else {
System.out.println("Your name doesn't exist in the database. Set up name in Employee interface first.");
}
// Problem Above !!!!!!!!!!!!!!!!!!!!
ps.close();
conn.close();
} catch(SQLException se) {
se.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
Я хочу, чтобы перенаправление в CustomerInterface.jsp происходило только в том случае, если введенные имя и фамилия совпадают с набором имени и фамилии в наборе результатов из БД.