簡體   English   中英

在JSP頁面中導航時無法檢索會話屬性

[英]not able to retrieve session attributes when i navigate through JSP pages

我正在Eclipse Juno和Apache服務器上工作。
我有3頁:

  • login.jsp(然后將該頁面重定向到servlet(Validation.java)進行登錄身份驗證(如果有效,然后導航到search.jsp)
  • search.jsp
  • fill.jsp

    我像這樣在Validation.java中設置了會話變量的值
    String s_user=request.getParameter("n_user");
    HttpSession session=request.getSession(true);
    session.setAttribute("ses_user",s_user);


    和打印的值是這樣的:
    String s =(String)session.getAttribute("ses_user"); System.out.println(s);
    以及每個頁面上會話的打印值,但是每當我瀏覽這些頁面時,都會創建新的sessionID

我已經檢查了

System.out.println("session ID"+request.getSession(false));

為什么我沒有相同的會話ID或相同的原因?


login.jsp:

<form name="loginform" method="post" action="Validation"  >
    <br><br>
    <table width="300px" align="center" style="background-color:#C1CDCD;">
        <tr><td colspan=2></td></tr>
        <tr><td colspan=2> </td></tr>
        <tr>
         <td><b><font color="#00008B">Login Name</font></b></td>
         <td><input type="text" name="n_user" value=""></td>
        </tr>
        <tr>
            <td><b><font color="#00008B">Password</font></b></td>
            <td><input type="password" name="n_pass" value=""></td>
        </tr>

        <tr>
                <td></td>
                <td><input type="submit" name="Submit" value="Submit" onclick="return validate()"></td>
        </tr>
        <tr> <td colspan=2> </td></tr>
    </table>


</form>

System.out.println("session ID" + (String)(request.getSession().getAttribute("ses_user")));

您將獲得在會話中設置的屬性值。 SessionId之所以更改,是因為在驗證后您創建了新會話。

     //set session  
    HttpSession session=request.getSession(true);
    session.setAttribute("ses_user",s_user); 

        // get session

  String userid = (String)session.getAttribute("ses_user");
if(userid  != null){
// do something
}

您應該只使用不帶布爾參數的HttpSession session=request.getSession()

session=request.getSession()session=request.getSession(true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM