我正在使用eclipse juno和apache服务器。
我有3页:
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);
我已通过
检查了它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>
答案 0 :(得分:1)
System.out.println("session ID" + (String)(request.getSession().getAttribute("ses_user")));
您将获得会话中设置的属性值。 SessionId
被更改,因为在验证后您创建了新会话。
答案 1 :(得分:0)
//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
}
答案 2 :(得分:0)
你应该只使用HttpSession session=request.getSession()
而不使用布尔参数。
session=request.getSession()
与session=request.getSession(true)