Я создал базовую страницу входа и регистрации с помощью сервлетов. Мой первый сервлет проверяет базу данных, существуют ли имя пользователя и пароль, и если они это делают, для второго сервлета используется session.setAttribute("user", username)
. Мой второй сервлет имеет код request.getAttribute("user")
. Мой проект работает просто отлично, но во втором сервлете возвращает "Welcome null"
для вывода. Как я могу это исправить? Спасибо ...
Sv1.java
try {
Connection Conn = DriverManager.getConnection("jdbc:mysql://localhost/?user=root");
Statement s = Conn.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM users.info");
while (rs.next()) {
if (username.equals(rs.getString("Username")) && password.equals(rs.getString("Password"))) {
session.setAttribute("user", username);
flag = true;
response.sendRedirect("./Sv2");
}
}
if (flag == false) {
out.print("Invalid username or password");
}
}
Sv2.java
PrintWriter out = response.getWriter();
HttpSession session = request.getSession(false);
if (session != null) {
String name = (String) request.getAttribute("user");
out.print("Welcome " + name);
}