一、儲(chǔ)存Cookie:
1、從表單中獲取數(shù)據(jù): request.getParameter("username")
2、創(chuàng)建Cookie對(duì)象: Cookie usernameCookie = new Cookie("username",username);
3.儲(chǔ)存Cookie對(duì)象: response.addCookie(usernameCookie);
<%
request.setCharacterEncoding("utf-8"); //設(shè)置編碼
//首先判斷用戶是否選擇了記住登錄狀態(tài)
String[] isUseCookie = request.getParameterValues("isUseCookie");
if (isUseCookie !=null && isUseCookie.length > 0){
//把用戶名和密碼保存在Cookie對(duì)象里面
String username = URLEncoder .encode(request.getParameter("username"),"utf-8");
//使用URLEncoder 解決無法在Cookie當(dāng)中保存中文字符串問題
String password = URLEncoder .encode(request.getParameter("password"),"utf-8");
Cookie usernameCookie = new Cookie("username",username);
Cookie passwordCookie = new Cookie("password",password);
usernameCookie.setMaxAge(864000);
passwordCookie.setMaxAge(864000);
response.addCookie(usernameCookie);
response.addCookie(passwordCookie);
}else {
Cookie[] cookies = request.getCookies();
if (cookies!=null && cookies.length>0){
for (Cookie c:cookies){
if (c.getName().equals("username") || c.getName().equals("password")){
c.setMaxAge(0); //設(shè)置Cookie失效
response.addCookie(c); //重新保存
}
}
}
}
%>
二、 獲取Cookie 信息
1.獲取Cookie數(shù)據(jù): request.getCookies();
2.遍歷獲取到的Cookie數(shù)組,取到當(dāng)中的值: c.getValue()
<%
request.setCharacterEncoding("utf-8");
String username = "";
String password = "";
//獲取Cookie數(shù)據(jù) Cookie[] cookies = request.getCookies();
//判斷Cookie數(shù)據(jù)是否存在
if (cookies!=null && cookies.length>0){
for (Cookie c:cookies){
//獲取用戶名
if (c.getName().equals("username")){
username = URLDecoder.decode(c.getValue(),"utf-8");
}
//獲取密碼
if (c.getName().equals("password")){
password = URLDecoder.decode(c.getValue(),"utf-8");
}
}
}
%>