I've created a basic login and register page using servlets. My first servlet checks the database if the username and password exist and if they do it uses session.setAttribute("user", username)
for second servlet. My second servlet has request.getAttribute("user")
code. My project works just fine but in the second servlet returns "Welcome null"
for output. How can I fix this? Thanks...
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);
}
You are setting it to the session
session.setAttribute("user", username);
& reading it from request
String name = (String)request.getAttribute("user");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.