华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當(dāng)前位置:計(jì)算機(jī)等級 > 二級考試 > Java語言程序設(shè)計(jì) > 考試輔導(dǎo) > 文章內(nèi)容
  

全國計(jì)算機(jī)等級考試二級Java重點(diǎn)內(nèi)容(29)

中華IT學(xué)院   【 】  [ 2016年10月29日 ]

  cookie技術(shù)

  a, cookie是什么?

  瀏覽器訪問服務(wù)器時(shí),服務(wù)器發(fā)送給瀏覽器

  少量的數(shù)據(jù),這些數(shù)據(jù)以set-cookie消息頭的

  方式發(fā)送給瀏覽器。瀏覽器會(huì)將set-cookie消

  息頭設(shè)置的內(nèi)容保存下來(內(nèi)存或者是硬盤)。

  當(dāng)瀏覽器再次訪問服務(wù)器時(shí),會(huì)將之前保存的數(shù)

  據(jù)以cookie消息頭的方式發(fā)送給服務(wù)器,通過這

  種機(jī)制,可以將瀏覽器與服務(wù)器之間交互的數(shù)據(jù)

  保存下來。

  b, 創(chuàng)建cookie

  Cookie cookie = new Cookie(String name,

  String value);

  cookie.setMaxAge(int seconds);

  response.addCookie(cookie);

  c,查詢cookie

  //如果沒有cookie,會(huì)返回null

  Cookie[] request.getCookies();

  String cookie.getName();

  String cookie.getValue();

  d,編碼問題

  cookie的值只能是ascii字符,如果出現(xiàn)了非

  ascii字符(比如中文),需要將中文轉(zhuǎn)換成

  對應(yīng)的ascii字符表示。

  可以使用URLEncoder.encode方法或者

  BASE64Encoder.encode方法來實(shí)現(xiàn)轉(zhuǎn)換。

  要注意:

  在查詢時(shí),要使用對應(yīng)的方法來解碼。

  e, 生存時(shí)間

  cookie.setMaxAge(int seconds)

  單位是秒。

  seconds <0: 保存在內(nèi)存里(默認(rèn)值),只有

  當(dāng)瀏覽器關(guān)閉,cookie才會(huì)刪除。

  seconds > 0: 以文件的方式保存在硬盤上,

  超過這個(gè)時(shí)間,瀏覽器會(huì)刪除cookie。

  seconds = 0: 立即刪除cookie。

  如果要?jiǎng)h除一個(gè)名叫"username"的cookie:

  Cookie cookie = new Cookie("username","");

  cookie.setMaxAge(0);

  response.addCookie(cookie);

  f, 路徑問題

  瀏覽器在訪問服務(wù)器的某個(gè)路徑時(shí),會(huì)

  先比較cookie的路徑與服務(wù)器的路徑,只有

  符合條件的cookie才會(huì)發(fā)送給服務(wù)器。

  cookie如果沒有調(diào)用setPath方法,則會(huì)

  有一個(gè)默認(rèn)的路徑,這個(gè)默認(rèn)的路徑是

  創(chuàng)建該cookie的組件的路徑。

  比如: /web06_3/jsp01/addCookie.jsp

  創(chuàng)建了某個(gè)cookie,則該cookie的路徑是:

  /web06_3/jsp01

  瀏覽器會(huì)比較cookie的路徑與要訪問的組件

  的路徑,只有當(dāng)要訪問的組件的路徑是cookie

  的路徑或者及子路徑時(shí),瀏覽器才會(huì)發(fā)送該

  cookie組服務(wù)器。

  //設(shè)置cookie的路徑

  cookie.setPath(String str);

  比如:

  cookie.setPath("/web06_3");這樣設(shè)置的

  作用是,該組件生成的cookie,可以被這個(gè)應(yīng)用

  下所有的其它組件訪問到。

  練習(xí):

  寫一個(gè)Find_AddCookieServlet,該servlet

  先查詢有沒有一個(gè)名叫 userProfile的cookie,如果有,則

  顯示該cookie的值,如果沒有,則創(chuàng)建該cookie。

  new Cookie("userProfile","abc")

  g, cookie的限制

  cookie可以被禁止。

  cookie的大小有限制(大約4k左右,跟

  瀏覽器有關(guān)系),數(shù)量也有限制,瀏覽器

  在本地大約能保存300個(gè)左右的cookie。

  cookie不安全

  cookie的值只能是字符串

分享到:
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營業(yè)執(zhí)照
泾川县| 右玉县| 八宿县| 兴隆县| 陈巴尔虎旗| 巫山县| 涟水县| 肃南| 扶风县| 江孜县| 徐闻县| 虹口区| 兴海县| 武夷山市| 隆化县| 光山县| 汾西县| 芦山县| 城步| 梨树县| 武义县| 邹城市| 峨眉山市| 手游| 阿拉善右旗| 黄石市| 怀远县| 嘉定区| 车险| 金昌市| 鹿邑县| 廊坊市| 精河县| 陕西省| 颍上县| 土默特左旗| 彩票| 建阳市| 云龙县| 繁峙县| 遂川县|