我不知道为什么我的session.getAttribute(“用户”)返回非空,但属性值在几分钟后retun null,它可能是由于会话超时,但为什么只有属性值返回null,但其他会话仍然存在甚至session.getAttribute(“user”)返回非空。JSP Session.getAttribute()返回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>
它可以显示在用户登录的一切工作正常,几分钟后性别名称...将显示为空而不是重定向到登录页面。而我的余额和用户名会话仍在那里。 设置其他用户之前=(用户)session.getAttribute(“用户”);我正在使用
<jsp:useBean id="user" class="model.User" scope="session" />
我没有同样的问题。但是,我的问题是相似的。我在表单中设置了id属性(id =“name”)。我将这个表单提交给一个servlet。 servlet接受id并使用request.getParameter(“name”)获取参数。该参数设置为会话属性。当我尝试访问这个,最终使用JSP的属性,我得到一个null。为什么? –