页面刷新后删除了Java会话

时间:2013-03-10 19:32:47

标签: java jsp session request

我有一个网站,我有一个登录表单。如果登录成功,我将对象用户放入会话中,然后以这种方式进入另一个页面(我需要会话属性):

-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都将为空。

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

Java会话 -

HttpSession getSession(boolean create) -

返回与此请求关联的当前HttpSession,如果没有当前会话且create为true,则返回新会话。

所以在你正在使用的程序中 -

request.getSession(true) -

它始终返回一个新会话,并删除以前的会话变量。

您也可以查看以下链接以便更好地理解 -

How to check if session exists or not?