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 飛熊 閱讀(411) 評論(2)  編輯  收藏 所屬分類: java

          評論

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

          寫的很好??!學習了!贊一個?。?nbsp; 回復  更多評論   

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

          謝謝@lorry
            回復  更多評論   

          <2010年6月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 白沙| 汤阴县| 仙游县| 邳州市| 威海市| 丹东市| 石河子市| 广南县| 翁牛特旗| 灌阳县| 尖扎县| 黎川县| 正宁县| 正阳县| 庆城县| 景宁| 迁安市| 永春县| 济宁市| 扶沟县| 林州市| 五河县| 松江区| 寿阳县| 呈贡县| 扶沟县| 江山市| 扎兰屯市| 北京市| 新邵县| 鸡东县| 吴忠市| 新化县| 乐安县| 东城区| 永康市| 佛山市| 旬邑县| 马公市| 长丰县| 鲁山县|