關於如何使用cookie 記住使用者名稱和密碼
表單
<td>使用者名稱:</td>
<td><input type="text" name="userName" value="${cookie.userName.value}" onfocus="gogo('userName')" onblur="checkName()"></td>
<td id="resuName"></td>
</tr>
<tr>
<td>登入密碼:</td>
<td><input type="password" name="pwd" value="${cookie.password.value
<td id="resuPwd"></td>
</tr>
<tr>
<td><input type="checkbox" name="isChecked" checked>儲存使用者名稱和密碼</td>
</tr>
其中${cookie.userName.value} 中的cookie 是內建物件 不可是其他 userName 是後臺存的cookie變數名
後臺處理
//首先判斷你是否勾選了複選框
if(request.getParameter("isChecked")!=null){
//不等於空,則說明 勾選了 則將使用者名稱和密碼存放在cookie中去
Cookie userNameCookie = new Cookie("userName", userName);
Cookie passCookie = new Cookie("password", password);
//設定Cookie存活時間
userNameCookie.setMaxAge(60000);
passCookie.setMaxAge(60000);
response.addCookie(userNameCookie);
response.addCookie(passCookie);
}
else{//如果你沒有勾選cookie的話,但是可能以前點過。則清空cookie
Cookie[] cookie =request.getCookies();
if(cookie!=null&&cookie.length>0){
for(Cookie c:cookie ){
if(c.getName().equals("userName")||c.getName().equals("password")){
c.setMaxAge(0);
response.addCookie(c);
}
}
}
另外其中前端也可以不使用El表示式 寫判斷也可以。