jsp之session(一)
a.瀏覽網站:開始-關閉

b.購物: 瀏覽、付款、退出
c.電子郵件:瀏覽、寫郵件、退出
開始-結束
客戶端第一次請求服務端時,(jSessionid-Sessionid)服務端會產生一個session對象(用于保存該客戶的信息);
并且每個session對象 都會有一個唯一的 sessionId( 用于區分其他session);
服務端由會 產生一個cookie,并且 該cookie的name=JSESSIONID ,value=服務端sessionId的值;
然后 服務端會在 響應客戶端的同時 將該cookie發送給客戶端,至此 客戶端就有了 一個cookie(JSESSIONID);
因此,客戶端的cookie就可以和服務端的session一一對應(JSESSIONID(客戶端) - sessionID(服務端))
客戶端第二/n次請求服務端時:服務端會先用客戶端cookie種的JSESSIONID 去服務端的session中匹配sessionid,如果匹配成功(cookie jsessionid和sesion sessionid),說明此用戶 不是第一次訪問,無需登錄;
例子:
客戶端: 顧客(客戶端)
服務端: 存包處 - 商場(服務端)
顧客第一次存包:商場 判斷此人是 之前已經存過包(通過你手里是否有鑰匙)。
如果是新顧客(沒鑰匙) ,分配一個鑰匙 給該顧客; 鑰匙 會和 柜子 一一對應;
第二/n次 存包:商場 判斷此人是 之前已經存過包(通過你手里是否有鑰匙)
如果是老顧客(有鑰匙),則不需要分配;該顧客手里的鑰匙 會 和柜子 自動一一對應。
a. session存儲在服務端
b. session是在 同一個用戶(客戶)請求時 共享
c. 實現機制:第一次客戶請求時 產生一個sessionid 并復制給 cookie的jsessionid 然后發給客戶端。最終 通過session的sessionid-cookie的jsessionid
String getId() :獲取sessionId
boolean isNew() :判斷是否是 新用戶(第一次訪問)
void invalidate():使session失效 (退出登錄、注銷會用到)
void setAttribute()
Object getAttribute();
void setMaxInactiveInterval(秒) :設置最大有效 非活動時間
int getMaxInactiveInterval():獲取最大有效 非活動時間
session示例: 登錄
案例:
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
check.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
welocame.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
JSP
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。