2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

Cookie和Session詳解

更新時間:2018-08-31 來源:黑馬程序員技術社區 瀏覽量:

一、 會話技術概述?
1、 什么是一次會話
用戶打開瀏覽器訪問某個網站, 在這個網站上瀏覽任意頁面, 訪問完成后將瀏覽器關閉的過程稱為是一次會話.
2、 學習會話要解決的問題是什么?
會話技術是用于解決, 在會話過程中數據的保存問題。
3、 常用的會話技術有哪些
Cookie: 將數據保存到客戶端瀏覽器。
Session: 將數據保存到服務器端。



二、 Cookie詳解
1、 Cookie是什么?
Cookie是一個小信息, 由服務器寫給瀏覽器的并且由瀏覽器來保存。
客戶端保存的Cookie信息, 可以再次帶給服務器。
2、 創建Cookie
Cookie cookie = new Cookie("username", "admin");
//設置cookie的有效路徑, 將有效路徑設置為當前應用, 則訪問當前應用下的所有資源, 瀏覽器都會帶著它給服務器。
cookie.setPath(request.getContextPath());
//設置cookie的有效時間, 不設置就是會話過程, cookie存在瀏覽器的內存中
cookie.setMaxAge(60 * 60 * 24 * 7);
//將cookie輸出到客戶端
response.addCookie(cookie);
3、 獲取Cookie
// 獲得瀏覽器帶過來的所有的Cookie
Cookie[] cookies = request.getCookies();
4、 Cookie的分類
會話級別: 當沒有設置Cookie的有效時間, 默認就是會話級別的Cookie.關閉瀏覽器Cookie就會銷毀.
持久級別: 通過設置Cookie的有效時間.那么關閉瀏覽器Cookie還會存在.
5、 刪除持久級別的Cookie
//通過setMaxAge(0), 可以銷毀持久級別的Cookie。 但前提條件是, Cooike的有效路徑必須一致。
Cookie cookie = new Cookie("username",null);
cookie.setPath(request.getContextPath());
cookie.setMaxAge(0);
response.addCookie(cookie);
三、 Session詳解
1、 Session是什么?
Session是一個域對象, 可以用于保存用戶數據
Session的作用域范圍是一次會話
2、 創建Session對象
服務器端第一次調用request.getSession()時創建session
3、 銷毀Session對象
Session過期。
注: 默認過期時間為30分鐘, 可以通過配置web.xml修改Session的過期時間
例:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
非正常關閉服務器。
注: 如果正常關閉服務器, session會序列化到硬盤.當服務器重新啟動時, 會執行反序列化。
調用session.invalidate()方法。
4、 Session的執行原理
當服務器端第一次調用request.getSession()的時候, 服務器會自動為其創建一個Session對象, 并通過Cookie技術將Session的id, 發送給客戶端瀏覽
器。 以后客戶端再請求本應用中其他資源的時候, 會自動將此Cookie攜帶到服務器端。 這樣, 服務器端在接到請求時候, 就會收到Session的id, 并根據id在
內存中找到之前創建的Session對象, 提供給請求使用。



作者:黑馬程序員技術社區
首發:http://java.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!