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...