我不知道为什么我的session.getAttribute("user")在几分钟后返回非null值,但属性值返回null,这可能是由于会话超时,但为什么只有属性值返回null而其他会话仍然存在,即使session.getAttribute("user")返回非null值。
这是我的网页流程,用户登录
LoginServlet
User s = new User();
s.retriveuser();
session.setAttribute("balance", s.getBalance());
session.setAttribute("username", s.getUsername());
session.setAttribute("user", s);
我的个人资料
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>
用户登录后,一切正常。但是几分钟后,“性别名称”将显示为空,而不是重定向到登录页面。我的余额和用户名会话仍然存在。在设置else user =(User)session.getAttribute(“user”)之前,我使用了...。
<jsp:useBean id="user" class="model.User" scope="session" />