客戶端第一次請求服務端時,服務端會產生一個session對象(用於保存客戶的信息),而且每一個session都有惟一的sessionId與之一一對應,來用於區分別的session。服務端會產生一個cookie,而且該cookie的name=JSESSIONID,value=服務端sessionId的值,而後服務端會在響應客戶端的同時,將cookie發送給客戶端,至此客戶端就有一個JSESSIONID,所以客戶端的cookie就和服務端的sessionId一一對應。瀏覽器
第二次或第n次請求時,服務端會先用客戶端的cookie中的JSESSIONID,去服務端的session中匹配sessionId安全
String getId();獲取sessionIdcookie
boolean isNew();判斷是不是新用戶session
void invalidate();銷燬,使session失效app
void setAttribute();jsp
Object getAttribute():對象
void setMaxIncativeInterval(秒):獲取最大有效非活動時間作用域
cookie | session | |
---|---|---|
保存的位置 | 客戶端 | 服務端 |
安全 | 較不安全 | 較安全 |
保存的內容 | String | object |
pageContext JSP頁面容器get
request 請求對象io
reponse 響應對象
session 會話對象
appliation 全局對象
{
getContextPath() 虛擬路徑
getRealPath(String name):絕對路徑 相對的絕對路徑
}
config 配置對象
out 輸出對象
exception 異常對象
page 當前JSP頁面對象
pageContext 當前頁面有效
request 同一次請求有效,其餘請求無效(請求轉發後有效,重定向後無效)
session 同一次會話有效
application 整個項目運行期間有效,切換瀏覽器以後也能夠
以上四個範圍對象經過setAttribute進行賦值,經過getAttribute進行取值。
儘可能使用範圍小的