利用cookie和session實現七天免登陸

2021-10-18 02:33:31 字數 1779 閱讀 5402

簡單的前端頁面 login.jsp:我用的是jsp

>

登入訪問資源h3

>

>

$h3>

>

action

="source"

method

="post"

>

使用者名稱:type

="text"

name

="username"

>

>

密碼:type

="text"

name

="password"

>

>

type

="checkbox"

name

="remember"

value

="1"

>

是否七天免登陸

>

type

="submit"

value

="提交"

>

form

>

後台**:這裡我用的是原生的servlet

}登入成功後的頁面 success.jsp:

>

$,歡迎您!

body

>

要點總結:

其實最重要的是下面這一段**:

cookie cookie=

newcookie

("jseesionid"

, req.

getsession()

.getid()

);cookie.

setmaxage(60

*60*24

*7);

req.

getsession()

.setmaxinactiveinterval(60

*60*24

*7);

resp.

addcookie

(cookie)

;

思路:我們先建立乙個cookie物件,然後將其jseesionid賦值為req.getsession().getid(),jseesionid就相當於乙個身份牌,後我們將這個身份牌設定七天的有效期,之後再給session設定七天的有效期,這樣客戶端的cookie中的jsessionid和服務端的session有效期都是7天,之後每次請求cookie都會帶著jsessionid來和session中的jsessionid對比,就可以簡單的實現七天免登陸了。

這裡注意一下,如果下一次登陸又點了七天免登陸,那麼就會重新計算天數

Python中cookie和session的異同點

cookie和session的異同點 共同點 1.cookie和session都是用來儲存資料的 2.cookie和session都可以設定有效時間 不同點 1.cookie是儲存在瀏覽器客戶端,session是儲存在服務端 2.session相對cookie來說更更安全 3.session依賴於c...

Flask中的cookie和session淺知

cookie技術的必要性 cookie的實現原理 cookie時用來將使用者資訊儲存在客戶端的技術,使用者資訊會被存放於客戶端的計算機中。cookie儲存到客戶端之後,當使用者再次通過瀏覽器發起對伺服器的請求的時候,瀏覽器就會自動帶著此 相關的cookie資訊來請求資料庫。而cookie資訊裡面儲存...

HTTP協議之Cookie和Session

http是無狀態協議,那麼服務端如何識別特定的客戶端呢?注 無狀態指http協議自身不對請求和響應之間的通訊狀態進行儲存。對傳送過的請求和響應都不做持久化處理 即不做任何儲存 每次http請求的時候,客戶端都會傳送相應的cookie資訊到服務端。實際上大多數的應用都是用cookie來實現sessio...