Cookie的setPath() setDomain比較

  1、cookie的setPath方法--是對地址欄上面的地址約束,確定什麼後綴下面能夠使用這個cookie
            如果tomcat/webapp下面有兩個應用:cas和webapp_b, 
            1、在cas下面設置cookie,不設置setPath,默認的默認值是生產cookie的應用路徑
                    若在cas下面生成cookie的時候 增加一條設置
            正常的cookie只能在一個應用中共享,cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面獲取到cas設置的cookie了。 
            2、setPath()中的參數:
                   是相對於應用服務器存放應用的文件夾的根目錄而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之後,可以在webapp文件夾下的所有應用共享cookie,而cookie.setPath("/webapp_b/")是指cas應用設置的cookie只能在webapp_b應用下的獲得,即便是產生這個cookie的cas應用也不可以。 
            3、有多條cookie.setPath("XXX");語句的時候,起作用的以最後一條爲準。 
  2、cookie.setDomain() 
            主要用來在兩個不同名稱但是後綴相同的網站地址上.這樣兩個網站就能使用同一個cookie了 
                    例子: www.zjut.edu.cn 和 bbs.zjut.edu.cn   cookie.setDomain(".zjut.edu.cn");
                A機所在的域:home.langchao.com,A有應用cas 
                B機所在的域:jszx.com,B有應用webapp_b 
                        如果在A機所在的cas應用中,增加cookie.setDomain(".jszx.com"),這樣webapp_b下面就可以取到cookie
                setDomain()中的參數 必須以“.”確定
                訪問webapp_b必須輸入域名且域名以“.jszx.com”結尾
                設置了cookie.setDomain(".jszx.com");,還可以在默認的home.langchao.com下面共享。 
   3、cookie的有效期
                Cookie的maxAge決定着Cookie的有效期,單位爲秒(Second)。Cookie中通過getMaxAge()方法與setMaxAge(int maxAge)方法來讀寫maxAge屬性。
                        如果maxAge屬性爲正數,則表示該Cookie會在maxAge秒之後自動失效。瀏覽器會將maxAge爲正數的Cookie持久化,即寫到對應的Cookie文件中。
                                無論客戶關閉了瀏覽器還是電腦,只要還在maxAge秒之前,登錄網站時該Cookie仍然有效。
                        如果maxAge爲負數,則表示該Cookie僅在本瀏覽器窗口以及本窗口打開的子窗口內有效,關閉窗口後該Cookie即失效。maxAge爲負數的Cookie,爲臨時性                            Cookie,不會被持久化,不會被寫到Cookie文件中。Cookie信息保存在瀏覽器內存中,因此關閉瀏覽器該Cookie就消失了。Cookie默認的maxAge值爲-1。
                        如果maxAge爲0,則表示刪除該Cookie。Cookie機制沒有提供刪除Cookie的方法,因此通過設置該Cookie即時失效實現刪除Cookie的效果。失效的Cookie會被瀏覽器從Cookie文件或者內存中刪除
                                注意:從客戶端讀取Cookie時,包括maxAge在內的其他屬性都是不可讀的,也不會被提交。瀏覽器提交Cookie時只會提交name與value屬性。maxAge屬性只被瀏覽器用來判斷Cookie是否過期

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章