1. 程式人生 > >cookie和session儲存資料

cookie和session儲存資料

cookie 儲存資料到瀏覽器

    Cookie cookie = new Cookie("key", "value");
    cookie.setMaxAge(3600); // 預設隨著瀏覽器關閉刪除
    response.addCookie(cookie);

    瀏覽器收到 cookie 後會自動儲存,並在下次請求的時候,
    自動把所有的 cookie 放入請求頭,傳送給伺服器
    
    Cookie[] cookies = request.getCookies();
    如果不為 null,遍歷根據 cookie 的 key 一一比較,找到需要的 value
    
    刪除 cookie 只需要使用有效期為 0 的同名 cookie 進行替換即可

session 儲存資料到伺服器

    每個 client 的 session 獨立互不干擾的
        HttpSession session = request.getSession();    

    存資料到 session 中後,即可在任意 jsp 和 servlet 中使用
        session.setAttribute("key", value);
       
    在 jsp 中通過 EL 表示式獲取 session 中儲存的資料
        ${key}
    在 servlet 中通過 getAttribute 方法獲取儲存的資料
        String value = session.getAttribute("key");
        
    銷燬 session
        session.invalidate();