自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)了解JSP特點之Cookie

開發(fā) 后端
本文將講解JSP特點中的Cookie。Cookie的格式實際上是一段純文本信息, 由服務(wù)器隨著網(wǎng)頁一起發(fā)送到客戶端, 并保存在客戶端硬盤中指定的目錄的。

詳細(xì)了解JSP特點之Cookie

大家都傳說Cookie會造成嚴(yán)重的安全威脅什么的,其實不是這么回事情.服務(wù)器讀取Cookie的時候,只能夠讀取到這個服務(wù)器相關(guān)的信息.而且,瀏覽器一般只允許存放300個Cookie,每個站點最多存放20個,而且,每個Cookie的大小現(xiàn)在在4K,根本不會占用多少空間.并且,Cookie是有時效性質(zhì)的.例如,設(shè)置了Cookie的存活時間為1分鐘,則一分鐘后這個Cookie就會被瀏覽器刪除

1.服務(wù)器可以向客戶端寫內(nèi)容

2.只能是文本內(nèi)容,且大小為4K(安全)

3.客戶端可以阻止服務(wù)器寫入

4.只能拿自己webapp寫入的東西(安全)

5.Cookie分為兩種

a.屬于窗口/子窗口(放在內(nèi)存中),窗口一關(guān)閉,即Cookie內(nèi)容失效

b.寫在本地磁盤的文本(有生命周期)

6.一個servlet/jsp設(shè)置的cookie能夠被同一個路徑下面或者子路徑下面的servlet/jsp讀到(路徑=url)

(路徑!=真實文件路徑)

也就是說,子路徑下生成的cookie,父路徑不能讀取

父路徑生成的cookie,子路徑能讀取

JSP中對Cookie的操作:類型方法名方法解釋

StringgetComment()返回cookie中注釋,如果沒有注釋的話將返回空值.

StringgetDomain()返回cookie中Cookie適用的域名.使用getDomain()方法可以指示瀏覽器把Cookie返回給同一域內(nèi)的其他服務(wù)器,而通常Cookie只返回給與發(fā)送它的服務(wù)器名字完全相同的服務(wù)器。注意域名必須以點開始

intgetMaxAge()返回Cookie過期之前的最大時間,以秒計算。

StringgetName()返回Cookie的名字

StringgetPath()返回Cookie適用的路徑。如果不指定路徑,Cookie將返回給當(dāng)前頁面所在目錄及其子目錄下的所有頁面。

booleangetSecure()如果瀏覽器通過安全協(xié)議發(fā)送cookies將返回true值,如果瀏覽器使用標(biāo)準(zhǔn)協(xié)議則返回false值。

StringgetValue()返回Cookie的值。筆者也將在后面詳細(xì)介紹getValue/setValue。

intgetVersion()返回Cookie所遵從的協(xié)議版本。

voidsetComment(Stringpurpose)設(shè)置cookie中注釋

voidsetDomain(Stringpattern)設(shè)置cookie中Cookie適用的域名

voidsetMaxAge(intexpiry)以秒計算,設(shè)置Cookie過期時間。

voidsetPath(Stringuri)指定Cookie適用的路徑。

voidsetSecure(booleanflag)指出瀏覽器使用的安全協(xié)議,例如HTTPS或SSL。

voidsetValue(StringnewValue)cookie創(chuàng)建后設(shè)置一個新的值。

voidsetVersion(intv)設(shè)置Cookie所遵從的協(xié)議版本

一個簡單的例子

1.寫入Cookie---writecookie.jsp

  1. <%@pagecontentType="text/html;charset=ISO8859_1"> 
  2. <%  
  3. Cookie_cookie=newCookie("user_delfancom","delfan");  
  4. _cookie.setMaxAge(30*60);//設(shè)置Cookie的存活時間為30分鐘  
  5. response.addCookie(_cookie);//寫入客戶端硬盤  
  6. out.print("寫Cookie完成");  
  7. > 

2.讀取Cookie.jsp---readcookie.jsp

  1. <%  
  2. Cookiecookies[]=request.getCookies();//將適用目錄下所有Cookie讀入并存入cookies數(shù)組中  
  3. CookiesCookie=null;  
  4. Stringsname=null;  
  5. Stringname=null;  
  6. if(cookies==null)//如果沒有任何cookie  
  7. out.print("noneanycookie");  
  8. else  
  9. {  
  10. out.print(cookies.length+"  
  11. ");  
  12. for(inti=0;i{  
  13. sCookie=cookies[i];  
  14. sname=sCookie.getName();  
  15. name=sCookie.getValue();  
  16. out.println(sname+"->"+name+"  
  17. ");  
  18. }  
  19. }  
  20. > 

需要注意的兩個JSP特點的問題:

1.Cookie有個適用路徑的問題,就是說如果writecookie.jsp和readcookie.jsp要放在同意目錄下,如果不在同一目錄下,則寫的時候需要設(shè)置路徑,為readcookie.jsp所在的路徑.

2.讀入Cookie數(shù)組的時候需要判斷是否為空(null),網(wǎng)上很多代碼都沒有寫出這一點.

【編輯推薦】

  1. 充分使用標(biāo)簽功能編寫JSP應(yīng)用(JSTL)
  2. JSP換行問題解決辦法一覽
  3. 簡化JSP表達(dá)式中代碼
  4. 淺析JSP服務(wù)器
  5. 監(jiān)視JSP中JVM可用內(nèi)存
責(zé)任編輯:彭凡 來源: 賽迪網(wǎng)
相關(guān)推薦

2011-06-07 11:21:04

JSP隱含對象

2022-03-08 08:44:13

偏向鎖Java內(nèi)置鎖

2021-04-13 09:07:33

InnoDB內(nèi)存結(jié)構(gòu)

2010-04-16 11:08:23

2010-11-16 09:55:12

Oracle分區(qū)索引

2011-07-28 10:40:40

Cocoa KVO

2021-07-22 06:08:43

SQL.js關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫

2011-08-25 15:10:49

LUAWindows環(huán)境配置

2011-07-01 14:34:02

Thread Affinity 信號

2010-10-25 11:51:05

Oracle單行字符串

2010-10-21 15:26:35

SQL Server字

2009-06-30 10:37:56

JSP教程

2010-11-12 14:29:46

Sql Server創(chuàng)

2018-11-27 15:55:21

TCP通訊協(xié)議

2021-06-12 07:38:21

Linkerd 2.Service Mes微服務(wù)

2009-07-01 18:17:32

JSP處理Cookie

2011-05-18 11:14:45

JSP

2009-07-07 17:30:58

JSP應(yīng)用開發(fā)

2009-07-07 17:37:32

JSP標(biāo)簽庫

2011-06-15 12:36:58

JSPBEAN
點贊
收藏

51CTO技術(shù)棧公眾號