java web視訊學習-Cookie
餅乾. 其實是一份小資料, 是伺服器給客戶端,並且儲存在客戶端上的一份小資料
應用場景:自動登入、瀏覽記錄、購物車。
為什麼要有這個Cookie:
http的請求是無狀態, 客戶端與伺服器在通訊的時候,是無狀態的,客戶端在第二次訪問伺服器時,伺服器不知道它之前訪問過。
為了更好的使用者體驗,更好的互動 [自動登入],其實從公司層面講,就是為了更好的收集使用者習慣[大資料]
Cookie的簡單使用
服務端新增cookie響應給給客戶端,cookie在此處產生
response.setContentType("text/html;charset=utf-8");
Cookie cookie = new Cookie("name", "wangcf");
response.addCookie(cookie);
response.getWriter().write("你好呀!!");
服務端獲取客戶端請求中的cookie
在客戶端獲取到cookie以後,再次訪問伺服器,瀏覽器會自動在請求中新增cookie
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie coo: cookies) {
String name = coo.getName();
String value = coo.getValue();
System.out.println("name=" + name + ";value=" + value);
}
}
設定cookie的有效期
預設關閉瀏覽器後失效,
設定cookie的有效期
預設值:-1,或其它負數,關閉瀏覽器後失效;
0,response返回到瀏覽器後即被刪除,下次request將不會傳輸該cookie;
其它正數,存在多少秒,超過該秒後的request將無該cookie
//cookie的設定必須在addCookie之前才有效
cookie.setMaxAge(60 * 60 * 24);
response.addCookie(cookie);
修改cookie值
cookie.setValue(newValue);
設定cookie在瀏覽器的存放地址;該地址下有cookie,則request將帶上該cookie
//只有訪問pattern域名的request才回帶cookie
cookie.setDomain(pattern);
//是有訪問以上域名的uri的路徑才會帶cookie
cookie.setPath(uri);
cookie實戰
例項一、顯示最近訪問的時間。
- 判斷賬號是否正確
- 如果正確,則獲取cookie。 但是得到的cookie是一個陣列, 我們要從陣列裡面找到我們想要的物件。
- 如果找到的物件為空,表明是第一次登入。那麼要新增cookie
- 如果找到的物件不為空, 表明不是第一次登入。
if ("admin".equals(userName) && "123".equals(password)) {
//獲取cookie last-name --- >
Cookie[] cookies = request.getCookies();
//從陣列裡面找出我們想要的cookie,自定義findCookie方法
Cookie cookie = CookieUtil.findCookie(cookies, "last");
//是第一次登入,沒有cookie
if (cookie == null) {
Cookie c = new Cookie("last", System.currentTimeMillis() + "");
c.setMaxAge(60 * 60); //一個小時
response.addCookie(c);
response.getWriter().write("歡迎您, " + userName);
} else {
//1. 去以前的cookie第二次登入,有cookie
long lastVisitTime = Long.parseLong(cookie.getValue());
//2. 輸出到介面,
response.getWriter().write("歡迎您, " + userName + ",上次來訪時間是:" + new Date(lastVisitTime));
//3. 重置登入的時間
cookie.setValue(System.currentTimeMillis() + "");
response.addCookie(cookie);
}
} else {
response.getWriter().write("登陸失敗 ");
}
例項二、顯示商品瀏覽記錄。
- 邏輯分析:
- jsp 裡面使用Java程式碼
- jsp
Java Server Pager —> 最終會翻譯成一個類, 就是一個Servlet
存放在Tomcat的work目錄下面,最終是通過拼寫輸出HTML頁面
- 定義全域性變數
<%! int a = 99; %>
- 定義區域性變數
<% int b = 999; %>
- 在jsp頁面上,顯示 a 和 b的值,
<%= a %>
<%= b %>
- jsp顯示瀏覽記錄
- 清除瀏覽記錄
其實就是清除Cookie, 刪除cookie是沒有相應的類似delete方法的
可以設定maxAge 為0 。
Cookie cookie = new Cookie("history","");
cookie.setMaxAge(0); //設定立即刪除
cookie.setPath("/CookieDemo02");
response.addCookie(cookie);
相關文章
- java web視訊學習-TomcatJavaWebTomcat
- 狂神說Java Web學習筆記_CookieJavaWeb筆記Cookie
- Java學習筆記(七十二)—— CookieJava筆記Cookie
- Cookie學習Cookie
- 2020JAVA 就業班視訊學習Java就業
- JAVA學習筆記—JAVA WEB(二)JAVA WEB核心(下)Java筆記Web
- web前端學習教程:Cookie會話跟蹤技術Web前端Cookie會話
- Java Web 學習路線JavaWeb
- java web學習 日常自用JavaWeb
- java基礎學習:JavaWeb之Cookie和SessionJavaWebCookieSession
- 視訊播放學習
- Django 視覺化Web展示 學習Django視覺化Web
- Java學習路線圖,內附完整Java自學視訊教程+工具經驗Java
- 2020web前端學習路線(附全套前端視訊教程+教學大綱)Web前端
- Cookie和Session有什麼不同?學習web網路安全得多久CookieSessionWeb
- javaweb學習之路(3)CookieJavaWebCookie
- 音視訊學習路線
- 【JAVA Web基礎學習】Day1JavaWeb
- 好程式設計師web前端培訓分享JavaScript學習筆記cookie程式設計師Web前端JavaScript筆記Cookie
- 深度學習、機器學習、python、C++視訊深度學習機器學習PythonC++
- cookie、session、web storageCookieSessionWeb
- 2020最新全面Java學習路線及視訊(萬字長文)Java
- 狂神說Java Web學習筆記_TomcatJavaWeb筆記Tomcat
- Java技術自學規劃(學習路線圖、書籍、視訊總結)Java
- 深度學習與視訊恢復,視訊壓縮專題深度學習
- Java操作Cookie之新增CookieJavaCookie
- Web全棧工程師前景+學習指南-CSDN就業班-專題視訊課程Web全棧工程師就業
- Altium.Designer的學習視訊 分享~~
- 2020年全新Java學習路線圖,含配套視訊,學完即為中級Java程式設計師!!Java程式設計師
- java web 動態web開發基礎入門學習 eclipse版(二)JavaWebEclipse
- 谷歌檢視Cookie谷歌Cookie
- 一個不錯的bootstrap學習視訊boot
- JVM狂神說視訊學習筆記JVM筆記
- web網路安全---cookie篇WebCookie
- 新手Java學習路線乾貨教材 《Java Web開發實戰》JavaWeb
- CTF入門學習3->Web通訊基礎Web
- java學習之道 --- 如何學習java?Java
- Web前端如何學?Web前端學習方法分享Web前端