小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

JSP中的COOKIE操作

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

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

JSP中對(duì)Cookie的操作: 
類型     方法名                       方法解釋 
String   getComment()    返回cookie中注釋,如果沒有注釋的話將返回空值. 
String   getDomain()       返回cookie中Cookie適用的域名. 
int      getMaxAge()       返回Cookie過期之前的最大時(shí)間,以秒計(jì)算。 
String   getName()         返回Cookie的名字 
String   getPath()         返回Cookie適用的路徑。
boolean  getSecure()       如果瀏覽器通過安全協(xié)議發(fā)送cookies將返回true值
String   getValue()        返回Cookie的值。
int      getVersion()      返回Cookie所遵從的協(xié)議版本。 
void     setComment(String purpose)    設(shè)置cookie中注釋 
void     setDomain(String pattern)     設(shè)置cookie中Cookie適用的域名  
void     setMaxAge(int expiry)         以秒計(jì)算,設(shè)置Cookie過期時(shí)間。 
void     setPath(String uri)           指定Cookie適用的路徑。 
void     setSecure(boolean flag)       指出瀏覽器使用的安全協(xié)議,例如HTTPS或SSL。 
void     setValue(String newValue)     cookie創(chuàng)建后設(shè)置一個(gè)新的值。 
void     setVersion(int v)             設(shè)置Cookie所遵從的協(xié)議版本 

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

2. 讀取Cookie.jsp --- readcookie.jsp
-------------------------------------------------------------
<%
  Cookie cookies[]=request.getCookies(); // 將適用目錄下所有Cookie讀入并存入cookies數(shù)組中
  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++) // 循環(huán)列出所有可用的Cookie
    {
     sCookie=cookies[i];
      sname=sCookie.getName();
      name = sCookie.getValue();
      out.println(sname + "->" + name + "<br>");
    }
  } 
%>

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約