1.session 對(duì)象在開(kāi)發(fā)中用的最多的地方是“登陸以及注銷(xiāo)功能”(當(dāng)用戶(hù)第一次連接到服務(wù)器時(shí)會(huì)自動(dòng)分配一個(gè) session id ,每一個(gè)session id 就代表一個(gè)用戶(hù))
請(qǐng)看以下代碼:
login.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>login</title>
</head>
<body>
<form action="login.jsp" method="post">
<table>
<tr>
<td>用戶(hù)名:</td>
<td><input type="text" name="uname"></td>
</tr>
<tr>
<td>密  碼:</td>
<td><input type="password" name="upass"></td>
</tr>
<tr>
<td><input type="submit" value="登陸"></td>
<td><input type="reset" name="重置"></td>
</tr>
</table>
</form>
<%
String name=request.getParameter("uname");
String password=request.getParameter("upass");
if(!(name==null||"".equals(name)||password==null||"".equals(password))){
if("SunHao".equals(name)&&"0104".equals(password)){
//登陸成功設(shè)置session屬性范圍
session.setAttribute("userid",name);
response.setHeader("refresh","2;URL=welcome.jsp");
%>
<p>恭喜您登陸成功!兩秒后跳轉(zhuǎn)到新頁(yè)面,如果沒(méi)有成功跳轉(zhuǎn)請(qǐng)點(diǎn)擊<a href="welcome.jsp">這里</a></p>
<%
}else{
%>
<p>錯(cuò)誤的用戶(hù)名或密碼苛聘!</p>
<%
}
}
%>
</body>
</html>
welcome.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>welcome</title>
</head>
<body>
<%
if(session.getAttribute("userid")!=null){
%>
<p><%=session.getAttribute("userid")%>歡迎您使用本系統(tǒng)胖喳,<a href="logout.jsp">注銷(xiāo)</a></p>
<%
}else{//沒(méi)有session屬性孝常,給出提示七冲,返回重新登錄
%>
<p>若要使用背镇,請(qǐng)先進(jìn)行<a href="login.jsp">登陸</a>锨用!</p>
<%
}
%>
</body>
</html>
logout.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>out</title>
</head>
<body>
<%
response.setHeader("refresh","2;URL=login.jsp");
session.invalidate();//清除當(dāng)前使用的session
%>
<p>您已經(jīng)成功退出本系統(tǒng)丰刊,2秒后跳轉(zhuǎn)回首頁(yè)!如果沒(méi)有跳轉(zhuǎn)增拥,請(qǐng)點(diǎn)擊<a href="logout.jsp">這里</a>啄巧!</p>
</body>
</html>
以上的做法是session使用的最多的一種驗(yàn)證登陸操作,除此之外掌栅,會(huì)話(huà)跟蹤還有以下幾種技術(shù):
1)session提供的方法保存
2)通過(guò)Cooke
3)通過(guò)表單的隱藏域完成
4)通過(guò)地址重寫(xiě)
2.判斷新用戶(hù)
<code>session.isNew()</code>