为什么 session.getAttribute returns 为空?
Why session.getAttribute returns null?
我已经使用 servlet 创建了一个基本的登录和注册页面。我的第一个 servlet 检查数据库是否存在用户名和密码,如果存在,则对第二个 servlet 使用 session.setAttribute("user", username)
。我的第二个 servlet 有 request.getAttribute("user")
代码。我的项目工作得很好,但在第二个 servlet returns "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);
}
您正在将其设置为会话
session.setAttribute("user", username);
& 从请求中读取它
String name = (String)request.getAttribute("user");
我已经使用 servlet 创建了一个基本的登录和注册页面。我的第一个 servlet 检查数据库是否存在用户名和密码,如果存在,则对第二个 servlet 使用 session.setAttribute("user", username)
。我的第二个 servlet 有 request.getAttribute("user")
代码。我的项目工作得很好,但在第二个 servlet returns "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);
}
您正在将其设置为会话
session.setAttribute("user", username);
& 从请求中读取它
String name = (String)request.getAttribute("user");