java Cookie實戰教程之留下的痕跡

       今晚我們來聊聊java技術,java的應用是非常廣泛的,比如桌面程序,安卓apk程序,今天我們說說java web網站應用的一個非常有用且重要的技術:CookieCookie的應用面很多,比如網站商品的瀏覽歷史,記住用戶名等等應用場景,我們今天講解一個實際的案例:記錄用戶上次訪問頁面的時間

       下面我分享代碼,並且會給代碼加上我的講解註釋,幫助各位童鞋理解。

           // 獲取本地所有的cookie,得到一個cookie的數組

       Cookie cookies[] = request.getCookies();
       // 設置一個boolean變量,來標記是否找到我們需要的cookie
       boolean b=false;
       // for對象數組循環,循環的cookies數組,而每一次創建一個ck的cookie對象
      for(Cookie ck:cookies){
         if("lastVisit".equals(ck.getName())){
            // 說明存在上次訪問該頁面的cookie
            b=true;
           // 讀取cookie,利用getValue()方法
           String time = ck.getValue();
           out.println("上一次登錄時間是:"+time);

           // 利用SimpleDateFormat對象的format方法,格式化當前時間
           SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
           String nowTime = sdf.format(new java.util.Date());

           // 更新Cookie中lastVisit的值,否則無法記錄上次最新的訪問時間
           Cookie cookie = new Cookie("lastVisit",nowTime);

           // 設置Cookie的生命週期,一般是一週
           cookie.setMaxAge(7*24*3600);

           // 利用http的response對象,將Cookie存儲到本地
           response.addCookie(cookie);
           // 找到cookie就退出for循環
           break;
           }

          // 說明是第一次訪問該頁面,Cookie中還沒有lastVisit的值
          if(!b){
              out.println("您第一次訪問該頁面!");
              // 格式化當前時間,並且把時間保存到cookie中
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             String nowTime = sdf.format(new java.util.Date());
             Cookie cookie=new Cookie("lastVisit",nowTime);
             cookie.setMaxAge(7*24*3600);
             response.addCookie(cookie);
          }

         好了,今晚的Cookie技術分享到此結束,大家有什麼疑問,可以留言和我討論,很開心與大家一起進步!

         大家可以關注我的微信公衆號:iwork,我會每天推送一篇原創文章,讓大家都能有所收穫!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章