記錄用戶的上次訪問時間----Cookie

Cookie的創建:
Cookie cookie = New Cookie(Cookie name,Cookie vlaue);
Response.addCookie(cookie)
注意:Cookie中不能存中文,默認Cookie是會話級別的
設置Cookie在客戶端持久化的時間:cookie.setMaxAge(int seconds)
設置同名cookie,時間設置為0,代表刪除該cookie,將path設置成與要刪除的cookie一致
設置cookie的攜帶路徑:cookie.setPath(String path) -------//客戶端地址要加包名
注意:如果不設置攜帶路徑,那么該cookie信息會在訪問產生該cookie的 web資源所在的路徑都攜帶cookie信息

服務器獲取客戶端攜帶的cookie:
獲得客戶端攜帶的cookie:
request.getCookies() //返回值是數組
通過cookie名稱獲得想要的cookie:
1)通過request獲得所有的Cookie:
Cookie[] cookies = request.getCookies();
2)遍歷Cookie數組,通過Cookie的名稱獲得我們想要的Cookie
for(Cookie cookie : cookies){
if(cookie.getName().equal(cookieName)){
String cookieValue = cookie.getValue();
}
}

記錄用戶的上次訪問時間

package com.zys.lassAccessTime;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LastAccessTimeServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //獲得當前時間
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String currentTime = format.format(date);
        
        //1、創建Cookie記錄當前的最新的訪問時間
        Cookie cookie = new Cookie("lastAccessTime",currentTime);
        cookie.setMaxAge(60*10*500);
        response.addCookie(cookie);
        
        //2、獲得客戶端攜帶cookie ---- lastAccessTime
        String lastAccessTime = null;
        Cookie[] cookies = request.getCookies();
        if(cookies != null){
            for(Cookie coo : cookies){
                if("lastAccessTime".equals(coo.getName())){
                    lastAccessTime = coo.getValue();
                }
            }
        }
        
        response.setContentType("text/html;charset=UTF-8");
        if(lastAccessTime==null){
            response.getWriter().write("您是第一次訪問");
        }else{
            response.getWriter().write("您上次登錄的時間為:"+lastAccessTime);
        }
        
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 會話(Session)跟蹤是Web程序中常用的技術,用來跟蹤用戶的整個會話。常用的會話跟蹤技術是Cookie與Se...
    chinariver閱讀 5,665評論 1 49
  • 細說Cookie 閱讀目錄 開始 Cookie 概述 Cookie的寫、讀過程 使用Cookie保存復雜對象 Js...
    拉肚閱讀 1,125評論 0 4
  • layout: posttitle: Cookie$Sessionsubtitle: 用法d...
    蟲兒飛ZLEI閱讀 169評論 0 0
  • 1 下午兩點,我躺在床上,劃著手機。 “被窩真舒服啊,下午就不去圖書館了,反正圖書館晚開門,也學不了多少時間。”躺...
    海西情歌閱讀 200評論 0 0
  • 昨晚,寫作群里炸開了鍋,原來二美又出新招,要求群里每兩人一組,結成對子,各種混亂中,我和巫巫格--上海結上了,雙方...
    文曉玲閱讀 565評論 1 1