COOKIE

          1.COOKIE
          HTTP COOKIE實質是服務端與在客戶端之間傳送的普通HTTP頭,可保存也可不保存在客戶的硬盤上.如果保存,每一個文件大小不超過4K的文本文件.多個COOKIE可保存到同一個文件中. 如果從編程角度來看,在JSP中COOKIE就是JAVA提供的一個類.常用的方法如下所表示,因為客戶端可能不接受COOKIE,所以建議不用它,改用SESSION等其他方式。

          public class cookie
          {
          public String getDomain() //返回該COOKIE的有效域
          public int getMaxAge() //返回該COOKIE的有效期,單位為秒
          public String getName() //返回該COOKIE的名稱
          public String getPath() //返回該COOKIE的有效路徑
          public boolean getSecure() //返回該COOKIE的安全設置
          public String getValue() //返回該COOKIE的值
          public void setDomain(java.lang.String pattern) //設置該COOKIE的有效域
          public void setMaxAge(int expiry) //設置該COOKIE的有效期,單位為秒
          public void setPath(java.lang.String uri) //設置該COOKIE的有效路徑
          public void setSecure(boolean flag) //設置該COOKIE的安全設置
          public void setValue(java.lang.String newValue) //設置該COOKIE的值
          }
          一個COOKIE包含以下五部分:
          NAME/VALUE對,設置該COOKIE的名字及它保存的值
          COOKIE通常和服務器相關,如果將域設為JAVA.SUN.COM,那么該COOKIE就和這個域相關,只對該網址起作用,當瀏覽該網址時,瀏覽器將把該COOKIE的內容發送給服務端,COOKIE是作為HTTP HEADER的一部分被發送的,如果沒有設置域,那么COOKIE就只和創建該COOKIE的服務器相關.
          路徑用于指定服務器上可以使用該COOKIE的文件所在的路徑,它只對該網址下的該路徑下的應用起作用."/"表示服務器上所有目錄都可以使用該COOKIE.
          COOKIE都有一個有效期,有效期默認值為-1,這表示沒有保存該COOKIE,當該瀏覽器退出時,該COOKIE立即失效.
          安全選項true/false,如果設置為true,那么在服務端與在客戶端之間傳送該COOKIE的內容時,采用HTTPS協議.
          如何檢查一個客戶端是否支持COOKIE的方法:
          用下面的方法寫一個COOKIE到客戶端,并確認成功
          try
          {
          Cookie c = new Cookie("mycookie","COOKIE TEST");
          response.addCookie(c);
          }
          catch(Exception e)
          {
          ????? System.out.println(e);
          }

          然后在一個新的JSP文件中:用下面的方法取客戶端的COOKIE到cookies中, 如果cookies.length ==0,說明該客戶端的瀏覽器不支持COOKIE
          try
          {
          Cookie[] cookies = request.getCookies();
          if(cookies.length ==0)
          {
          ????? System.out.println("not support cookie");
          }
          }
          catch(Exception e)
          {
          ????? System.out.println(e);
          }

          2.動態INCLUDE
          用jsp:include動作實現 <jsp:include page="included.jsp" flush="true" />它總是會檢查所含文件中的變化,適合用于包含動態頁面,并且可以帶參數。
          靜態INCLUDE
          用include偽碼實現,定不會檢查所含文件的變化,適用于包含靜態頁面<%@ include file="included.htm" %>
          ===================================================================
          1. 靜態include的結果是把其他jsp引入當前jsp,兩者合為一體
          動態include的結構是兩者獨立,直到輸出時才合并( 看看jsp生成的java文件就可以知道了)
          2.正是因為這樣,動態include的jsp文件獨立性很強,是一個單獨的jsp文件,需要使用的對象,頁面設置,都必須有自己創建,當然,還好它和include它的頁面的request范圍是一致的.
          而靜態include純粹是把代碼寫在外面的一種共享方法,所有的變量都是可以和include它的主文件共享,兩者高度緊密結合,不能有變量同名的沖突.而頁面設置也可以借用主文件的.
          詳細出處參考:http://www.jb51.net/article/13159.htm

          posted on 2010-02-08 17:33 飛熊 閱讀(410) 評論(2)  編輯  收藏 所屬分類: java

          評論

          # re: COOKIE 2010-03-14 00:14 lorry

          寫的很好啊!學習了!贊一個!!  回復  更多評論   

          # re: COOKIE 2010-06-18 15:37 飛熊

          謝謝@lorry
            回復  更多評論   

          <2010年2月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28123456
          78910111213

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 游戏| 道真| 高陵县| 宁蒗| 彭州市| 吉木萨尔县| 化德县| 蒙城县| 古蔺县| 麟游县| 靖远县| 丰县| 乌审旗| 友谊县| 莲花县| 吉林省| 泽州县| 萨嘎县| 资阳市| 佛冈县| 诸暨市| 连山| 东兰县| 新乐市| 广州市| 甘南县| 嘉黎县| 枞阳县| 噶尔县| 赣州市| 霍州市| 扎囊县| 伊春市| 象州县| 日喀则市| 陈巴尔虎旗| 枝江市| 合水县| 喀什市| 嘉义县| 高阳县|