我有一个网站,我有一个登录表单。如果登录成功,我将对象用户放入会话中,然后以这种方式进入另一个页面(我需要会话属性):
-Java Servlet -
request.getSession(true).setAttribute("utente", u);
request.getSession(true).setAttribute("abbonamento", a);
request.getRequestDispatcher("HomeUtente.jsp").forward(request, response);
-Jsp page -
<%
Utente u = null;
Abbonamento a = null;
try {
u = (Utente) session.getAttribute("utente");
a = (Abbonamento) session.getAttribute("abbonamento");
} catch (Exception e) {
a = null;
u = null;
e.printStackTrace();
}
%>
现在,如果我这样做一旦没问题,但如果我刷新页面,似乎会删除会话。
我想这是因为当我刷新页面时(在调试模式下)a和u都将为空。
有什么想法吗?
答案 0 :(得分:-1)
Java会话 -
HttpSession getSession(boolean create)
-
返回与此请求关联的当前HttpSession,如果没有当前会话且create为true,则返回新会话。
所以在你正在使用的程序中 -
request.getSession(true)
-
它始终返回一个新会话,并删除以前的会话变量。
您也可以查看以下链接以便更好地理解 -