jsp / servlet中的会话中的值为空

时间:2012-08-10 08:43:10

标签: java jsp session servlets

我正在尝试按如下方式设置会话值:

if (request.getParameter("page") != null) {
                        page = Integer.parseInt(request.getParameter("page").toString());
                    }
                    if (request.getParameter("se_tempcardnumber") != null) {
                        tempcardnumber = request.getParameter("se_tempcardnumber").toString();
                        session.setAttribute("session_tempcardnumber", tempcardnumber);
                    }
                    if (request.getParameter("se_empid") != null) {
                        empid = request.getParameter("se_empid").toString();
                        session.setAttribute("session_empid", empid);
                    }
                    if (request.getParameter("se_issuedate") != null) {
                        issuedate = request.getParameter("se_issuedate").toString();
                        session.setAttribute("session_issuedate",issuedate);
                    }
                    if (request.getParameter("se_cardstatus") != null) {
                        cardstatus = request.getParameter("se_cardstatus").toString();
                        session.setAttribute("session_cardstatus", cardstatus);
                    }

我尝试按如下方式访问会话值:

 if(session.getAttribute("session_empid")!=null) {
                     session_empid =(String)session.getAttribute("session_empid");
                    }
                 if(session.getAttribute("session_tempcardnumber")!=null) {
                     session_tempcardnumber =(String)session.getAttribute("session_tempcardnumber");
                    }
                 if(session.getAttribute("session_issuedate")!=null) {
                     session_issuedate =(String)session.getAttribute("session_issuedate");
                 }
                 if(session.getAttribute("session_cardstatus")!=null) {
                     session_cardstatus =(String)session.getAttribute("session_cardstatus");
                     System.out.println("session_cardstatus : "+session_cardstatus);
                 }

出于测试目的,我单独为System.out.println("session_cardstatus : "+session_cardstatus);设置值,并且我打印了相同的内容。

它是第一次打印,但是当第二次打印时,该值为空虽然我不会删除会话中那些设置变量的任何位置。

请告诉我如何去做;

感谢和问候

1 个答案:

答案 0 :(得分:2)

检查在将值设置到会话

之前生成的会话ID

request.getRequestedSessionId()或session.getId()