日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

JSP中的COOKIE操作

系統 1883 0

Cookie概念:
????Cookie的格式實際上是一段純文本信息, 由服務器隨著網頁一起發送到客戶端, 并保存在客戶端硬盤中指定的目錄的. 大家都傳說Cookie會造成嚴重的安全威脅什么的, 其實不是這么回事情. 服務器讀取Cookie的時候, 只能夠讀取到這個服務器相關的信息. 而且, 瀏覽器一般只允許存放300個Cookie, 每個站點最多存放20個, 而且, 每個Cookie的大小現在在4K, 根本不會占用多少空間. 并且, Cookie是有時效性質的. 例如, 設置了Cookie的存活時間為1分鐘, 則一分鐘后這個Cookie就會被瀏覽器刪除

Cookie版本:
????目前有兩個版本:
????版本0 : 由Netscape公司制定的,也被幾乎所有的瀏覽器支持. Java中為了保持兼容性, 目前只支持到版本0, Cookie的內容中不能空格,方括號,圓括號,等于號(=),逗號,雙引號,斜杠,問號,@符號,冒號,分號。
????版本1 : 根據RFC 2109文檔制定的. 放寬了很多限制. 上面所限制的字符都可以使用. 但為了保持兼容性, 應該盡量避免使用這些特殊字符.

JSP中對Cookie的操作: 類型 方法名 方法解釋
String getComment() 返回cookie中注釋,如果沒有注釋的話將返回空值.
String getDomain() 返回cookie中Cookie適用的域名. 使用getDomain() 方法可以指示瀏覽器把Cookie返回給同 一域內的其他服務器,而通常Cookie只返回給與發送它的服務器名字完全相同的服務器。注意域名必須以點開始
int getMaxAge() 返回Cookie過期之前的最大時間,以秒計算。
String getName() 返回Cookie的名字
String getPath() 返回Cookie適用的路徑。如果不指定路徑,Cookie將返回給當前頁面所在目錄及其子目錄下 的所有頁面。
boolean getSecure() 如果瀏覽器通過安全協議發送cookies將返回true值,如果瀏覽器使用標準協議則返回false值。
String getValue() 返回Cookie的值。筆者也將在后面詳細介紹getValue/setValue。
int getVersion() 返回Cookie所遵從的協議版本。
void setComment(String purpose) 設置cookie中注釋
void setDomain(String pattern) 設置cookie中Cookie適用的域名??
void setMaxAge(int expiry) 以秒計算,設置Cookie過期時間。
void setPath(String uri) 指定Cookie適用的路徑。
void setSecure(boolean flag) 指出瀏覽器使用的安全協議,例如HTTPS或SSL。
void setValue(String newValue) cookie創建后設置一個新的值。
void setVersion(int v) 設置Cookie所遵從的協議版本

一個簡單的例子
1. 寫入Cookie --- writecookie.jsp
-------------------------------------------------------------
<%@ page contentType="text/html; charset=ISO8859_1" %>
<%
??Cookie _cookie=new Cookie("user_delfancom", "delfan");
??_cookie.setMaxAge(30*60); // 設置Cookie的存活時間為30分鐘
??response.addCookie(_cookie); // 寫入客戶端硬盤
??out.print("寫Cookie完成");
%>

2. 讀取Cookie.jsp --- readcookie.jsp
-------------------------------------------------------------
<%
??Cookie cookies[]=request.getCookies(); // 將適用目錄下所有Cookie讀入并存入cookies數組中
??Cookie sCookie=null;
??String sname=null;
??String name=null;
??if(cookies==null) // 如果沒有任何cookie
????out.print("none any cookie");
??else
??{
????out.print(cookies.length + "<br>");
????for(int i=0;i<cookies.length; i++) // 循環列出所有可用的Cookie
????{
??????sCookie=cookies[i];
??????sname=sCookie.getName();
??????name = sCookie.getValue();
??????out.println(sname + "->" + name + "<br>");
????}
??}
%>

需要注意的兩個問題:
1. Cookie有個適用路徑的問題, 就是說如果 writecookie.jsp和readcookie.jsp要放在同一目錄下, 如果不在同一目錄下, 則寫的時候需要設置路徑,為readcookie.jsp所在的路徑.
2. 讀入Cookie數組的時候需要判斷是否為空(null), 網上很多代碼都沒有寫出這一點.

JSP中的COOKIE操作


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 工布江达县| 厦门市| 宁化县| 固原市| 泰安市| 巴楚县| 兰州市| 台湾省| 延安市| 米林县| 凯里市| 瓮安县| 山东省| 锡林郭勒盟| 环江| 五华县| 嘉善县| 白河县| 梅州市| 黄大仙区| 南充市| 盱眙县| 修文县| 海城市| 龙门县| 崇州市| 宜良县| 同心县| 正安县| 河池市| 灌阳县| 大关县| 久治县| 班戈县| 盖州市| 威信县| 清流县| 襄汾县| 汉中市| 赣州市| 集安市|