JSP的內建物件3

2021-10-13 07:29:20 字數 2038 閱讀 5602

cookie物件

<%

//將name儲存到cookie中

cookie namecookie = new cookie(

"name",name)

; //將建立的cookie儲存到響應頭中

response.addcookie(namecookie)

;%>

<%

//獲取cookie

cookie[

] cookies = request.getcookies();

for(cookie cook : cookies)

%>

cookie生效時間

值為正數,代表了cookie的存活時長(秒為單位)

值為0時,代表了立即清除cookie

值為負數時,代表了cookie的生命週期與當前會話一致

<%

cookie namecookie = new cookie(

"name",name)

; //設定cookie的生效時間setmaxage(

) 秒 namecookie.setmaxage(10)

; response.addcookie(namecookie)

;%>

<%

//獲取cookie

cookie[

] cookies = request.getcookies();

if(cookies != null)

}%>

cookie針對不同的瀏覽器可以儲存的數量是有限的

firefox每個網域名稱cookie限制為50個。

opera每個網域名稱cookie限制為30個。

safari/webkit貌似沒有cookie限制。但是如果cookie很多,則會使header大小超過伺服器的處理的限制,會導致錯誤發生。

注:「每個網域名稱cookie限制為20個」將不再正確!

除safari(可以設定全部cookie,不管數量多少),有兩個方法:

最少最近使用(leastrecentlyused(lru))的方法:當cookie已達到限額,自動踢除最老的cookie,以使給最新的cookie一些空間。internet explorer和opera使用此方法。

firefox很獨特:雖然最後的設定的cookie始終保留,但似乎隨機決定哪些cookie被保留。似乎沒有任何計畫(建議:在firefox中不要超過cookie限制)。

三、不同瀏覽器間cookie總大小也不同:

firefox和safari允許cookie多達4097個位元組,包括名(name)、值(value)和等號。

opera允許cookie多達4096個位元組,包括:名(name)、值(value)和等號。

internet explorer允許cookie多達4095個位元組,包括:名(name)、值(value)和等號。

注:多位元組字元計算為兩個位元組。在所有瀏覽器中,任何cookie大小超過限制都被忽略,且永遠不會被設定。

session與cookie的區別

session是儲存服務端的,cookie是儲存在客戶端的

session資料安全,cookie資料不安全

session效率低,cookie效率高

案例:統計文章的瀏覽次數

<%

//設定預設的閱讀量

int count = 0;

//1.先從全域性作用域中獲取儲存的已訪問的數量

"count");

if(object != null)

//2.在已有的閱讀量的基礎上+1

count++;

//3.將最新的閱讀量儲存到全域性作用域中(更新)

"count",count)

;%>

閱讀量:<%=count%>

JSP內建物件

jsp內建物件對映表 下面是各個物件介紹 request 物件代表的是來自客戶端的請求,例如我們在form表單中填寫的資訊等,是最常用的物件。關於它的方法使用較多的是getparameter getparameternames和getparametervalues,通過呼叫這幾個方法來獲取請求物件中...

jsp內建物件

request 使用者端請求,此請求會包含來自 get post 請求的引數 response 網頁傳回使用者端的回應 包含了響應客戶請求的有關資訊 pagecontext 網頁的屬性是在這裡管理 頁面上下文物件 提供了對jsp頁面內所有的物件及名字空間的訪問 session 與請求有關的會話期,主...

JSP內建物件

內建物件 不需要預告定義,在指令碼 和表示式中直接使用。一 request物件 request物件封裝了由客戶端生成的 http 請求的所有細節,主要包括 http 頭資訊 系統資訊 請求方式 和 請求引數 等。1 訪問 請求引數 getparameter 示例 在頁面中定義超連結。刪除 在dele...