<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Thinking

    快樂(lè)編程,開(kāi)心生活
    posts - 21, comments - 27, trackbacks - 0, articles - -5
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Cookie[轉(zhuǎn)]

    Posted on 2007-02-27 08:57 lixw 閱讀(185) 評(píng)論(0)  編輯  收藏

    1、在Javascript中操作Cookie:
    ?1?<script>
    ?2?//設(shè)置Cookie
    ?3???function?setCookie(va){
    ?4????????var?expires?=?new?Date();
    ?5???????expires.setTime(expires.getTime()?+?12?*?30?*?24?*?60?*?60?*?1000);
    ?6???????/*???一年?x?一個(gè)月當(dāng)作?30?天?x?一天?24?小時(shí)
    ?7???????x?一小時(shí)?60?分?x?一分?60?秒?x?一秒?1000?毫秒?*/
    ?8????????document.cookie=va+';expires='+expires.toGMTString();
    ?9???}
    10???//讀取Cookie
    11???function?readCookie(name){
    12???var?cookieValue?=?"";
    13???var?search?=?name?+?"=";
    14???if(document.cookie.length?>?0)??{
    15?????offset?=?document.cookie.indexOf(search);
    16?????if?(offset?!=?-1)????{
    17???????offset?+=?search.length;
    18???????end?=?document.cookie.indexOf(";",?offset);
    19???????if?(end?==?-1)?end?=?document.cookie.length;
    20???????cookieValue?=?unescape(document.cookie.substring(offset,?end))
    21?????}
    22???}
    23???return?cookieValue;
    24?}
    25?
    26?setCookie("user=123");
    27?alert(readCookie('user'));
    28?</script>
    2、在Servlet中操作Cookie:
    ?? a.要把Cookie發(fā)送到客戶端,Servlet先要調(diào)用new?Cookie(name,value)用合適的名字和值創(chuàng)建一個(gè)或多個(gè)Cookie,通過(guò)cookie.setXXX設(shè)置各種屬性,通過(guò)response.addCookie(cookie)把cookie加入 應(yīng)答頭。
    ?? b.要從客戶端讀入Cookie,Servlet應(yīng)該調(diào)用request.getCookies (),getCookies()方法返回一個(gè)Cookie對(duì)象的數(shù)組。在大多數(shù)情況下,你只需要用循環(huán)訪問(wèn)該數(shù)組的各個(gè)元素尋找指定名字的Cookie, 然后對(duì)該Cookie調(diào)用getValue方法取得與指定名字關(guān)聯(lián)的值。?
    ?? c.創(chuàng)建Cookie?
    ?? 調(diào)用Cookie對(duì)象的構(gòu)造函數(shù)可以創(chuàng)建Cookie。Cookie對(duì)象的構(gòu)造函數(shù)有兩個(gè)字符串參數(shù):Cookie名字和Cookie值。名字和值都不能包含空白字符以及下列字符:?
    ???[?]?(?)?=?,?"?/???@?:?;? ?
    ?? d.讀取和設(shè)置Cookie屬性?
    ?? 把Cookie加入待發(fā)送的應(yīng)答頭之前,你可以查看或設(shè)置Cookie的各種屬性。下面摘要介紹這些方法:?
    ?? getComment/setComment?
    ?? 獲取/設(shè)置Cookie的注釋。?
    ?? getDomain/setDomain?
    ?? 獲取/設(shè)置Cookie適用的域。一般地,Cookie只返回給與發(fā)送它的服務(wù)器名字完全相同的服務(wù)器。使用這里的方法可以指示瀏覽器把Cookie返回 給同一域內(nèi)的其他服務(wù)器。注意域必須以點(diǎn)開(kāi)始(例如.sitename.com),非國(guó)家類的域(如.com,.edu,.gov)必須包含兩個(gè)點(diǎn),國(guó)家 類的域(如.com.cn,.edu.uk)必須包含三個(gè)點(diǎn)。?
    ?? getMaxAge/setMaxAge?
    ?? 獲取/設(shè)置Cookie過(guò)期之前的時(shí)間,以秒計(jì)。如果不設(shè)置該值,則Cookie只在當(dāng)前會(huì)話內(nèi)有效,即在用戶關(guān)閉瀏覽器之前有效,而且這些Cookie不會(huì)保存到磁盤(pán)上。參見(jiàn)下面有關(guān)LongLivedCookie的說(shuō)明。?
    ?? getName/setName?
    ?? 獲取/設(shè)置Cookie的名字。本質(zhì)上,名字和值是我們始終關(guān)心的兩個(gè)部分。由于HttpServletRequest的getCookies方法返回的 是一個(gè)Cookie對(duì)象的數(shù)組,因此通常要用循環(huán)來(lái)訪問(wèn)這個(gè)數(shù)組查找特定名字,然后用getValue檢查它的值。?
    ?? getPath/setPath?
    ?? 獲取/設(shè)置Cookie適用的路徑。如果不指定路徑,Cookie將返回給當(dāng)前頁(yè)面所在目錄及其子目錄下的所有頁(yè)面。這里的方法可以用來(lái)設(shè)定一些更一般的 條件。例如,someCookie.setPath("/"),此時(shí)服務(wù)器上的所有頁(yè)面都可以接收到該Cookie。?
    ?? getSecure/setSecure?
    ?? 獲取/設(shè)置一個(gè)boolean值,該值表示是否Cookie只能通過(guò)加密的連接(即SSL)發(fā)送。?
    ?? getValue/setValue?
    ?? 獲取/設(shè)置Cookie的值。如前所述,名字和值實(shí)際上是我們始終關(guān)心的兩個(gè)方面。不過(guò)也有一些例外情況,比如把名字作為邏輯標(biāo)記(也就是說(shuō),如果名字存在,則表示true)。?
    ?? getVersion/setVersion?
    ?? 獲取/設(shè)置Cookie所遵從的協(xié)議版本。默認(rèn)版本0(遵從原先的Netscape規(guī)范);版本1遵從RFC?2109?,?但尚未得到廣泛的支持。?
    ?? e.在應(yīng)答頭中設(shè)置Cookie?
    ?? Cookie可以通過(guò)HttpServletResponse的addCookie方法加入到Set-Cookie應(yīng)答頭。下面是一個(gè)例子:?
    1????Cookie?userCookie?=?new?Cookie("user",?"uid1234");?
    2????response.addCookie(userCookie);?

    ?? f.讀取保存到客戶端的Cookie?
    ?? 要把Cookie發(fā)送到客戶端,先要?jiǎng)?chuàng)建Cookie,然后用addCookie發(fā)送一個(gè)Set-Cookie?HTTP應(yīng)答頭。這些內(nèi)容已經(jīng)在上 面的2.1節(jié)介紹。從客戶端讀取Cookie時(shí)調(diào)用的是HttpServletRequest的getCookies方法。該方法返回一個(gè)與HTTP請(qǐng)求 頭中的內(nèi)容對(duì)應(yīng)的Cookie對(duì)象數(shù)組。得到這個(gè)數(shù)組之后,一般是用循環(huán)訪問(wèn)其中的各個(gè)元素,調(diào)用getName檢查各個(gè)Cookie的名字,直至找到目 標(biāo)Cookie。然后對(duì)這個(gè)目標(biāo)Cookie調(diào)用getValue,根據(jù)獲得的結(jié)果進(jìn)行其他處理。?
    ?? 上述處理過(guò)程經(jīng)常會(huì) 遇到,為方便計(jì)下面我們提供一個(gè)getCookieValue方法。只要給出Cookie對(duì)象數(shù)組、Cookie名字和默認(rèn)值, getCookieValue方法就會(huì)返回匹配指定名字的Cookie值,如果找不到指定Cookie,則返回默認(rèn)值。?

    ?? 獲取指定名字的Cookie值?
    1?public?static?String?getCookieValue(Cookie[]?cookies,?
    2????????String?cookieName,String?defaultValue)?{?
    3????????for(int?i=0;?i<cookies.length;?i++)?{?
    4????????????Cookie?cookie?=?cookies[i];?
    5????????????if?(cookieName.equals(cookie.getName()))?{
    6????????????????return(cookie.getValue());?
    7????????????}?
    8????????return(defaultValue);?
    9????}?



    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产成人久久精品大牛影视| 国产成人精品日本亚洲专区61 | 2021在线观看视频精品免费| 亚洲日韩精品无码专区网站| 色老头综合免费视频| 日韩精品电影一区亚洲| 羞羞视频免费网站入口| 亚洲国产主播精品极品网红 | 亚洲国产精品yw在线观看| 2021国内精品久久久久精免费| 亚洲酒色1314狠狠做| 免费观看美女用震蛋喷水的视频| 亚洲精品白色在线发布| 中文字幕无码不卡免费视频| 亚洲不卡在线观看| 成人性生交视频免费观看| 亚洲精品一卡2卡3卡四卡乱码| 日本高清免费aaaaa大片视频| 亚洲av成人一区二区三区在线播放| 国产在线观看免费完整版中文版| 亚洲色偷偷色噜噜狠狠99| 免费国产在线观看| 日批视频网址免费观看| 久久久久亚洲av无码专区导航| 国产在线观看片a免费观看| MM1313亚洲国产精品| 国产亚洲老熟女视频| 99精品免费观看| 亚洲色欲色欲www在线播放| 免费中文字幕在线观看| 你懂的免费在线观看| 亚洲人成在久久综合网站| 可以免费观看一级毛片黄a| 最近免费mv在线观看动漫| 精品久久久久久亚洲精品| 亚洲高清无码专区视频| 免费女人高潮流视频在线观看| 在线a亚洲老鸭窝天堂av高清| 亚洲国模精品一区| 中国人xxxxx69免费视频| 青草青草视频2免费观看|