首頁常見問題正文

Cookie和Session:Cookie API之構(gòu)造方法和常用方法

更新時間:2024-02-26 來源:黑馬程序員 瀏覽量:

IT培訓班

  為了封裝Cookie信息,在Servlet API中提供了一個java.http.Cookie類,該類包含了生成Cookie信息和提取Cookie信息的各個屬性的方法。Cookie的構(gòu)造方法和常用方法具體如下。

  1.構(gòu)造方法

  Cookie類有且僅有一個構(gòu)造方法,具體語法格式如下:

public Cookie(java.lang.String name,java.lang.String value)

  在Cookie的構(gòu)造方法中,參數(shù)name用于指定Cookie的名稱,value用于指定Cookie的值。需要注意的是,Cookie一旦創(chuàng)建,它的名稱就不能更改,Cookie的值可以為任意值,創(chuàng)建后允許被修改。

  2.Cookie類的常用方法

  通過Cookie的構(gòu)造方法創(chuàng)建Cookie后,便可調(diào)用該類的所有方法,表12-1列舉了Cookie的常用方法。

  表12-1 Cookie類的常用方法
1708916278218_Cookie類的常用方法.jpg

  表12-1列舉了Cookie類的常用方法,下面將針對表中比較難以理解的方法進行講解。

  (1)setMaxAge(int expiry)和getmaxAge()方法

  上面的這兩個方法用于設(shè)置和返回Cookie在瀏覽器上保持有效的秒數(shù)。如果設(shè)置的值為一個正整數(shù),瀏覽器會將Cookie信息保存在本地硬盤中。從當前時間開始,在沒有超過指定的秒數(shù)之前,這個Cookie都保持有效,并且同一臺計算機上運行的瀏覽器都可以使用這個Cookie信息;如果設(shè)置值為負整數(shù),瀏覽器會將Cookie信息保存在緩存中,當瀏覽器關(guān)閉時,Cookie信息會被刪除;如果設(shè)置值為0,則表示通知瀏覽器立即刪除這個Cookie信息。在默認情況下,Max-Age屬性的值是-1。

  (2)setPath(String uri)和getPath()方法

  上述兩個方法是針對Cookie的path屬性的。如果創(chuàng)建的某個Cookie對象沒有設(shè)置path屬性,那么該Cookie只對當前訪問路徑所屬的目錄及其子目錄有效;如果想讓某個Cookie項對站點所有目錄下的訪問路徑都有效,則應調(diào)用Cookie對象的setPath()方法將其path屬性設(shè)置為/。

  (3)setDomain(String pattern)和getDomain()方法

  上述兩個方法是針對Cookie的domain屬性的。domain屬性用于指定瀏覽器訪問的域。例如,百度的域為baidu.com。那么,當設(shè)置domain屬性時,其值必須以.開頭,如domain=.baidu.com。在默認情況下,domain屬性的值為當前主機名,瀏覽器在訪問當前主機下的資源時,都會將Cookie信息回送給服務(wù)器。需要注意的是,domain屬性的值是不區(qū)分大小寫的。

分享到:
在線咨詢 我要報名
和我們在線交談!