日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cookie ,Session

發布時間:2024/4/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cookie ,Session 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

會話技術

?

?

從打開一個瀏覽器訪問某個站點,到關閉這個瀏覽器的整個過程,成為一次會話。會話技術就是記錄這次會話中客戶端態的狀與數據的。

會話技術分為Cookie和Session:

Cookie:數據存儲在客戶端本地,減少服務器端的存儲的壓力,安全性不好,客戶端可以清除cookie

Session:將數據存儲到服務器端,安全性相對好,但增加服務器的壓力

?

?

Cookie

默認有效時間,一次會話中

Cookie在傳輸中無法傳中文

?

創建Cookie對象:

Cookie cookie=new Cookie("名","值");

該cookie會以響應頭的形式發送給客戶端

?

設置Cookie在客戶端的持久化時間: 單位:秒

cookie.setMaxAge(60*2); //時間到后自動清除

如果不設置持久化時間,cookie會存儲在瀏覽器的內存中,瀏覽器關閉 cookie信息銷毀(會話級別的cookie),如果設置持久化時間,cookie信息會??? 被持久化到瀏覽器的磁盤文件里

?

?

設置Cookie攜帶路徑

cookie.setPath("/WEB07"); //只有訪問

如果不設置攜帶路徑,那么默認產生該Cookie資源下的路徑都攜帶

?

?

發送Cookie給客戶端

response.addCookie(cookie);

?

?

刪除Cookie:

用同名同路徑的持久化時間為0的Cookie覆蓋

?

?

獲取客戶端攜帶給服務器的Cookie

Cookie[]? cookie=request.getCookies();

?

獲取Cookie的name

getName();

?

獲取Cookie的Value:

getValue();

?

?

?

Session

Session技術是將數據存儲在服務器端的技術,會為每個客戶端都創建一塊內存空間?? 存儲客戶的數據,但客戶端需要每次都攜帶一個標識ID去服務器中尋找屬于自己的內??????? 存空間。所以說Session的實現是基于Cookie,Session需要借助于Cookie存儲客戶的唯一性標識JSESSIONID

?

Session對象的生命周期:

創建:

第一次執行request.getSession()時創建

銷毀:

服務器關閉時

服務器端的資源無任何操作30分鐘

?

時間可以在工程的web.xml中進行配置

<session-config>

??????? <session-timeout>30</session-timeout>

</session-config>

手動銷毀session

session.invalidate();

?

?

獲得Session對象

HttpSession session = request.getSession();

?

獲取JSESSIONID

String id=session.getId();

?

Session也是存儲數據的區域對象,所以通用三個方法:

session.setAttribute(String name,Object obj);? //存值

session.getAttribute(String name);? //取值

session.removeAttribute(String name);? //刪除

?

獲取JSESSIONID

String id=session.getId();

?

當創建Session時會自動創建一個Cookie, name為JSESSIONID,值為隨機產生的一串數,

通過JSESSIONID找Session域內的值,當瀏覽器關閉再打開時,Cookie會重新創建,JSESSIONID

的值也會變化,要想關閉瀏覽器在打開后還能找回原有的值就需要重新創建個同名Cookie設置持久化時間替代原有的Cookie

代碼如下:

//獲取Session

HttpSession session=request.getSession();

//獲取JSESSIONID

String id=session.getId();

//向Session域中存數據

session.setAttribute("goods", 123);

??????

//將JSESSIONID 持久化

//手動創建Cookie

Cookie cookie=new Cookie("JSESSIONID",id);

??????

cookie.setMaxAge(60*3);//設置持久化時間時間

response.addCookie(cookie);//發送

?

response.getWriter().write("JSESSIONID:"+id);

?

轉載于:https://www.cnblogs.com/hhthtt/p/10708624.html

總結

以上是生活随笔為你收集整理的Cookie ,Session的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。