<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    feitian

    2011年4月23日 #

    Cookie 和session 的區別 (轉自http://www.cnblogs.com/chy8219/articles/1223533.html)

    session與cookie的區別(轉自http://www.cnblogs.com/chy8219/articles/1223533.html
    Session是由應用服務器維持的一個服務器端的存儲空間,用戶在連接服務器時,會由服務器生成一個唯一的SessionID,用該SessionID 為標識符來存取服務器端的Session存儲空間。而SessionID這一數據則是保存到客戶端,用Cookie保存的,用戶提交頁面時,會將這一 SessionID提交到服務器端,來存取Session數據。這一過程,是不用開發人員干預的。所以一旦客戶端禁用Cookie,那么Session也會失效。

    服務器也可以通過URL重寫的方式來傳遞SessionID的值,因此不是完全依賴Cookie。如果客戶端Cookie禁用,則服務器可以自動通過重寫URL的方式來保存Session的值,并且這個過程對程序員透明。

    可以試一下,即使不寫Cookie,在使用request.getCookies();取出的Cookie數組的長度也是1,而這個Cookie的名字就是JSESSIONID
    ,還有一個很長的二進制的字符串,是SessionID的值。

    Cookie是客戶端的存儲空間,由瀏覽器來維持。

    在一些投票之類的場合,我們往往因為公平的原則要求每人只能投一票,在一些WEB開發中也有類似的情況,這時候我們通常會使用COOKIE來實現,例如如下的代碼:
    < % cookie[]cookies = request.getCookies();
    if (cookies.lenght == 0 || cookies == null)
       doStuffForNewbie();
    //沒有訪問過   
    }

    else
    {
       doStuffForReturnVisitor(); //已經訪問過了
    }

    % >



           這是很淺顯易懂的道理,檢測COOKIE的存在,如果存在說明已經運行過寫入COOKIE的代碼了,然而運行以上的代碼后,無論何時結果都是執行doStuffForReturnVisitor(),通過控制面板-Internet選項-設置-察看文件卻始終看不到生成的cookie文件,奇怪,代碼明明沒有問題,不過既然有cookie,那就顯示出來看看。
    cookie[]cookies = request.getCookies();
    if (cookies.lenght == 0 || cookies == null)
       out.println("Has not visited this website");
    }

    else
    {
       for (int i = 0; i < cookie.length; i++)
       {
         out.println("cookie name:" + cookies[i].getName() + "cookie value:" +
             cookie[i].getValue());
       }
    }


             運行結果:
    cookie name:JSESSIONID cookie value:KWJHUG6JJM65HS2K6

    為什么會有cookie呢,大家都知道,http是無狀態的協議,客戶每次讀取web頁面時,服務器都打開新的會話,而且服務器也不會自動維護客戶的上下文信息,那么要怎么才能實現網上商店中的購物車呢,session就是一種保存上下文信息的機制,它是針對每一個用戶的,變量的值保存在服務器端,通過SessionID來區分不同的客戶,session是以cookie或URL重寫為基礎的,默認使用cookie來實現,系統會創造一個名為JSESSIONID的輸出cookie,我們叫做session cookie,以區別persistent cookies,也就是我們通常所說的cookie,注意session cookie是存儲于瀏覽器內存中的,并不是寫到硬盤上的,這也就是我們剛才看到的JSESSIONID,我們通常情是看不到JSESSIONID的,但是當我們把瀏覽器的cookie禁止后,web服務器會采用URL重寫的方式傳遞Sessionid,我們就可以在地址欄看到sessionid=KWJHUG6JJM65HS2K6之類的字符串。
             明白了原理,我們就可以很容易的分辨出persistent cookies和session cookie的區別了,網上那些關于兩者安全性的討論也就一目了然了,session cookie針對某一次會話而言,會話結束session cookie也就隨著消失了,而persistent cookie只是存在于客戶端硬盤上的一段文本(通常是加密的),而且可能會遭到cookie欺騙以及針對cookie的跨站腳本攻擊,自然不如session cookie安全了。
             通常session cookie是不能跨窗口使用的,當你新開了一個瀏覽器窗口進入相同頁面時,系統會賦予你一個新的sessionid,這樣我們信息共享的目的就達不到了,此時我們可以先把sessionid保存在persistent cookie中,然后在新窗口中讀出來,就可以得到上一個窗口SessionID了,這樣通過session cookie和persistent cookie的結合我們就實現了跨窗口的session tracking(會話跟蹤)。
             在一些web開發的書中,往往只是簡單的把Session和cookie作為兩種并列的http傳送信息的方式,session cookies位于服務器端,persistent cookie位于客戶端,可是session又是以cookie為基礎的,明白的兩者之間的聯系和區別,我們就不難選擇合適的技術來開發web service了。

    posted @ 2011-05-12 19:38 飛天wfu 閱讀(357) | 評論 (0)編輯 收藏

    mysql數據庫中插入中文錯誤

    往mysql數據庫中插入中文時顯示錯誤,是數據庫的字符集問題。
          將mysql默認字符集設置為utf8  ,
          然后修改mysql安裝目錄下的my.ini文件:
                 [client]下的default-character-set=gbk;
                 [mysqld]下的default-character-set=utf8;
          重啟mysql服務,問題解決!

    posted @ 2011-04-24 12:08 飛天wfu 閱讀(159) | 評論 (0)編輯 收藏

    各種排序算法java實現 (轉自http://duketian.blog.chinajavaworld.com/entry/3852/0/)

         摘要:   1 package org.rut.util.algorithm.support;   2     3 import org.rut.util.algorithm.SortUtil;   4 /**   5 ...  閱讀全文

    posted @ 2011-04-24 12:04 飛天wfu 閱讀(213) | 評論 (0)編輯 收藏

    【轉】 myeclipse常用設置(轉)

    轉載自 chssheng2007
    最終編輯 chssheng2007
    設置工作空間的項目編碼, 防止出現亂碼
       Window - Preferences - General - Workspace
       將"Text file encoding"選為"Other" - "UTF-8"
        改變現有項目的編碼的步驟: 右擊項目屬性, 選擇"Text file encoding"的編碼

    設置其它文件的編碼
        Window -> Preferences -> General -> Content Types
        將需要設置的文件設置編碼, 最好統一設為UTF-8
        設置后, 如Javascript文件可正常顯示中文

    設置創建JSP頁面時,將JSP的默認編碼設為UTF-8

        Window -> Preferences -> MyEclipse -> Files and Editors -> JSP
        將"Encoding"選為"ISO10646/Unicode(UTF-8)

    去掉格式化JSP時頁面中的空行
       Window -> Preferences -> MyEclipse -> HTML -> HTML Source
        勾選"Clear all blank lines"

    增強Eclipse的自動代碼提示功能
        默認下, 只有按"."或"Alt + /"才出現代碼提示功能, 不夠強大, 作小小設置, 可將代碼提示功能像VS的一樣方便
        1. Window -> Preferences -> Java -> Editor -> Content Assist
        2. 將"Auto Activation triggers for java"設置為".abc"(默認是"."), 點"Apply"應用
        3. 導出目前的Eclipse配置文件: File -> Export -> General -> Perferences, 選擇保存路徑, 保存得到*.epf文件
        4. 用文本編輯器打開剛才保存的*.epf文件, 搜索".abc", 將".abc"部分改為
           ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ(," (以上為自動提示的觸發字符,
           根據個人習慣設置), 保存此配置文件(個人覺得不太好用,容易出錯)
        5. 導入此配置文件: File -> import -> General -> Perferences, 導入修改后的配置文件.

        第一個選項為反應時間,可設為100左右(默認200)

    高亮類中同一引用的使用位置
       Window -> Perferences -> General - > Editors -> TextEditors -> Annotations
        選擇"Occurrences",勾引"Text as" -> "Highlighted"(塊高亮)或"Squiggles"(虛線)

    Link with Editor
        打開類后, 自動在包管理器這里顯示類的位置
      


    取消Myeclipse的自動文件驗證(卡傻的原因)
        Windows –> Perferences –>Myeclipse –> Validation
       保留manual(手動)部分,build下只留"classpath dependency Validator"

        手動驗證: 右鍵文件 -> Myeclipse -> Run Validation

    取消拼寫錯誤檢查
        我愛故意寫錯單詞, 不需要系統幫我檢查
        Windows –> perferences –> General –> Editors-> Text Editors -> Spelling
        去掉"Enable spell checking"勾選

    關閉不需要的啟動項
         MyEclipse:
        Windows –> Perferences–> General–> Startup and Shutdown

        我只保留了
      
      
        順序下來:
        1, Tomcat6: 必備的...
        2, 內存監視器: 可以查看Myeclipse的使用內存, 我喜歡這工具(在菜單Myeclipse - Utilities - Show Heap Status打開)
        3, JSP Debug工具, 其實我也沒用過, 怕有一天用到...
        4, 文件創建向導(個人經常用到)
        5, 向后兼容的意思吧, 怕有一天會用到, 但其實很少用, 可去掉
        6, 透視圖, 應該可以去掉吧...

        其實就只用選擇Tomcat6

    關閉自動更新
        1, Eclipse:
          
    Windows –> Perferences–> Install/Update -> Automatic Updates
            不勾選"Automatically find new updates and notify me"

        2, Myeclipse:
          
    1)Windows –> Perferences–> MyEclipse... -> Community Essentials
          &nb sp; 不勾選"Search for new features at startup"
            2)
    Windows –> Perferences–> MyEclipse... -> Maven4MyEclipse
           不勾選"Download repository index updates on startup"

    posted @ 2011-04-23 12:05 飛天wfu 閱讀(415) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 99国产精品视频免费观看| 成人免费777777被爆出| 粉色视频在线观看www免费| 老妇激情毛片免费| A毛片毛片看免费| 亚洲视频免费在线看| 成人毛片免费在线观看| 免费人妻av无码专区| 亚洲精品乱码久久久久久按摩| 久久精品国产亚洲AV无码麻豆| 国产精品高清视亚洲精品| 国产成人va亚洲电影| a毛片免费全部播放完整成| 亚洲视频在线免费播放| 日本19禁啪啪无遮挡免费动图| 久久久久国产成人精品亚洲午夜| 亚洲视频免费在线观看| 亚洲AV日韩综合一区尤物| 免费人成网站永久| 99久9在线|免费| 国产裸模视频免费区无码| 亚洲国产三级在线观看| ass亚洲**毛茸茸pics| 人妻免费久久久久久久了| 99ee6热久久免费精品6| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 91在线精品亚洲一区二区| 亚洲一区二区无码偷拍| 久久成人永久免费播放| 国产精品免费网站| 亚洲精品第一国产综合精品99| 亚洲色图.com| 日本高清免费中文在线看| 色老头永久免费网站| 亚洲国产一区视频| 亚洲午夜精品在线| 亚洲日韩在线观看免费视频| 日本免费网址大全在线观看 | 国产小视频免费观看| 久久久亚洲精品视频| 国产午夜亚洲精品不卡电影|