1、Cookie
示例:參考美團網站,有一個最近瀏覽的功能。
Cookie
--是Web服務器保存在客戶端(你的電腦)的一系列文本信息
--客戶端(你的電腦)在下次訪問時將Cookie中的信息隨請求一起發給服務端
Cookie的作用
--對特定對象的追蹤
--統計網頁瀏覽次數
--簡化登錄
安全性能
--容易信息泄露
Cookie在計算機中的位置
用IE和火狐在Internet選項中查找Cookie
訪問www.baidu.com或者www.meituan.com生成Cookie和清除Cookie的案例
在StuPrj項目的登錄頁面login.jsp中加入代碼:
第一步:加入記住密碼的複選框
<input type="checkbox" name="remmber" value="1"/>記住密碼
第二步:在登錄成功後,加入寫Cookie的功能
String remmber = request.getParameter("remmber");
//判斷是否記住密碼
if(remmber!=null && remmber.equals("1")){
//將用戶名密碼寫入到Cookie中去
//第一步、創建一個Cookie
Cookie cookie = new Cookie("logininfo",name+"_"+pwd);
//第二步、Cookie有效時間,以毫秒爲單位,一個星期7*24*60*60
cookie.setMaxAge(7*24*60*60);
//第三步、設置哪些資源能夠訪問到Cookie
cookie.setPath("/");
//第四步、將我們創建好的Cookie放到response對象中由響應對象帶給瀏覽器
response.addCookie(cookie);
}
第三步:在登錄時候,拿Cookie判斷有沒有存用戶名密碼
Cookie[] cookies = request.getCookies();
//定義兩個字符串記錄帳號和密碼,初始化成"",不要初始化成null。
String name = "";
String pwd = "";
for(int i=0; cookies!=null&&i<cookies.length; i++){
Cookie cookie = cookies[i]; //循環一個個拿出Cookie
//找到我們想要的Cookie
if(cookie.getName().equals("logininfo")){
//得到用戶名_密碼字符串
String value = cookie.getValue();
System.out.println(value);
//用下劃線分割成字符串數據
String[] strs = value.split("_");
//得到帳號密碼
name = strs[0];
pwd = strs[1];
}
}
session.setAttribute("abc",username);
//注意,前面是一個字符串,代表的是一個名字,具體的值是後面的。
2.取值:
session.getAttribute("abc");
//注意,我們只需要根據名字就可以得到值。名字要跟放值的 時候取的名字一致。
//取到的值,要進行強制轉換
String name = (String)session.getAttribute("abc");
session.removeAttribute("abc",username);