У меня есть бит входа в мой сервлет.
else if (userPath.equals("/Login")) {
String LuName = request.getParameter("LuserName");
String Lpass = request.getParameter("Lpassword");
boolean log = Boolean.parseBoolean(request.getParameter("loggedIn"));
JavaSqlDb objDb2 = new JavaSqlDb("LineEquation");
objDb2.SelectDataReturn(LuName, Lpass, log);
String myUrl = "Welcome" + ".jsp";
try {
// Redirect back to the new URL with new data. Sending request from servlet to JSP.
if (log == true) {
request.getRequestDispatcher(myUrl).forward(request, response);
}
else {
System.out.println("Ya goofed.");
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Метод для поиска значений, которые он получает.
public boolean SelectDataReturn(String LuserName, String Lpassword, boolean loggedIn) {
// Public boolean or void?
Statement s = null;
ResultSet rs = null;
String dbQuery = "SELECT * FROM Users WHERE userName = '" + LuserName + "' AND password = '" + Lpassword + "' ";
try {
s = this.dbConn.createStatement();
rs = s.executeQuery(dbQuery);
if (rs.next()) {
LuserName = rs.getString(1);
Lpassword = rs.getString(2);
//loggedIn = rs.getBoolean(3);
loggedIn = true;
System.out.println(dbQuery + "found.");
} else {
//LuserName = rs.getString(1);
//Lpassword = rs.getString(2);
loggedIn = false;
System.out.println(dbQuery + "not found.");
}
String connectionURL = "jdbc:mysql://localhost:3306/" + this.dbName;
this.dbConn = DriverManager.getConnection(connectionURL, "root", "mysql1");
Statement st = this.dbConn.createStatement();
st.executeQuery(dbQuery);
dbConn.close();
} catch (SQLException se) {
System.out.println("SQL Error: Not able to find data.");
se.printStackTrace(System.err);
System.exit(0);
}
return loggedIn;
}
И основной метод.
public static void main(String[] args) {
String tableName = "Users";
ArrayList<ArrayList<String>> myData;
String dbName = "LineEquation";
String[] tableHeader = {"userName", "password"};
JavaSqlDb objDb2 = new JavaSqlDb(dbName);
myData = objDb2.getData(tableName, tableHeader);
for (int row = 0; row < myData.size(); row++) {
System.out.println(myData.get(row));
}
objDb2.insertData("b", "2");
boolean test = objDb2.SelectDataReturn("Dhruv", "pass", false);
}
Я относительный новичок в сервлетах и базах данных, так что вы можете понять, почему я не понимаю, почему, по какой-то причине, когда я ввожу значения в текстовые поля и отправляю их, я получаю ошибку 404 и / или пустой экран. Мой сервлет не получает мое логическое значение или что-то в этом роде, я иду на страницу, которая не существует?