session機制

第一次

客戶端第一次請求服務端時,服務端會產生一個session對象(用於保存客戶的信息),而且每一個session都有惟一的sessionId與之一一對應,來用於區分別的session。服務端會產生一個cookie,而且該cookiename=JSESSIONIDvalue=服務端sessionId的值,而後服務端會在響應客戶端的同時,將cookie發送給客戶端,至此客戶端就有一個JSESSIONID,所以客戶端的cookie就和服務端的sessionId一一對應。瀏覽器

第二次

第二次或第n次請求時,服務端會先用客戶端的cookie中的JSESSIONID,去服務端的session中匹配sessionId安全

session

  1. session是存儲在服務端的
  2. session是在同一個客戶時請求時共享
  3. 實現機制:第一次請求時,產生一個sessionID並複製給cookie的Jsessionid而後發給客戶端。最終經過session的sessionID與cookie的jsessionid實現一一對應。

session方法:

String getId();獲取sessionIdcookie

boolean isNew();判斷是不是新用戶session

void invalidate();銷燬,使session失效app

void setAttribute();jsp

Object getAttribute():對象

void setMaxIncativeInterval(秒):獲取最大有效非活動時間作用域

cookie和session的區別

cookie session
保存的位置 客戶端 服務端
安全 較不安全 較安全
保存的內容 String object

JSP 9大內置對象

pageContext JSP頁面容器get

request 請求對象io

reponse 響應對象

session 會話對象


appliation 全局對象

{

getContextPath() 虛擬路徑

getRealPath(String name):絕對路徑 相對的絕對路徑

}

config 配置對象

out 輸出對象

exception 異常對象

page 當前JSP頁面對象


cookie四種範圍對象做用域

pageContext 當前頁面有效

request 同一次請求有效,其餘請求無效(請求轉發後有效,重定向後無效)

session 同一次會話有效

application 整個項目運行期間有效,切換瀏覽器以後也能夠

以上四個範圍對象經過setAttribute進行賦值,經過getAttribute進行取值。

儘可能使用範圍小的

相關文章
相關標籤/搜索