I have no idea why my session.getAttribute("user") return not null but attribute value retun null after few minutes, it might due to session time out but why only the attribute value return null but other session still there even session.getAttribute("user") return not null.
This is my web page flow, User Login
LoginServlet
User s = new User();
s.retriveuser();
session.setAttribute("balance", s.getBalance());
session.setAttribute("username", s.getUsername());
session.setAttribute("user", s);
My Profile
User user = new User();
if (session.getAttribute("user") == null) {
response.sendRedirect("login.jsp");
} else {
user = (model.User) session.getAttribute("user");
}
<tr>
<th>Gender:</th>
<td><%=user.getGender()%></td>
</tr>
<tr>
<th>Name:</th>
<td><%=user.getName()%></td>
</tr>
It can display after the user login everything work fine, after few minutes the gender name ... will display null instead of redirect to login page. And my balance and username session still there. Before setting else user = (User) session.getAttribute("user"); I was using
<jsp:useBean id="user" class="model.User" scope="session" />