1. 程式人生 > >jsp中cookie與session等自己總結精華

jsp中cookie與session等自己總結精華

              
(7)雖然Session儲存在伺服器,對客戶端是透明的,它的正常執行仍然需要客戶端瀏覽器的支援。這是因為Session需要使用Cookie作為識
    別標誌。HTTP協議是無狀態的,Session不能依據HTTP連線來判斷是否為同一客戶,因此伺服器向客戶端瀏覽器傳送一個名為JSESSIONID
    的Cookie,它的值為該Session的id(也就是HttpSession.getId()的返回值)。Session依據該Cookie來識別是否為同一使用者。
    因為Session預設是需要Cookie支援的 但有些客戶瀏覽器是關閉Cookie的 這個時候就需要在URL中指定伺服器上的session標識
(8)傳送一次請求。
伺服器帶著cookie去找服物器,JSESSIONID能對上號,就是在同一個會話中,沒有對上號,新建一個sesion(又是一個新的會話)
(9)思考1:我們現在設定只有登陸成功的的人才能訪問到其他的介面,否則返回登陸介面?
    答:解決1:在servlet中,如果從資料庫能返回真值,說明登陸成功,此時獲取一個session,把name放到session.然後再每個頁面 用session都獲取一下這個值
        如果等於null,則轉向登陸介面
        解決2:在servlet中,如果從資料庫能返回真值,說明登陸成功,此時建立一個cookie,把name放到cookie.然後再每個頁面 用cookie都獲取一下這個值
        如果等於null,則轉向登陸介面
   思考2:
如果在登陸頁面有,“免登陸一週”這個選項,怎麼實現?
    答:此時你發會發現session的的能力是有限的,一我們這期間有可能會關掉瀏覽器,session設定的連結時間可能會失效(那麼每次新登陸一下介面
        都會重新新建一個session,達不到這樣的要求(除非有人不關掉瀏覽,設定session的過期為七天,也是能實現的)
        但是我們的cookie能在硬碟上儲存7天啊! 因為我們沒有禁止cookie的話,他會在請求伺服器的時候帶上cookie。如果有這個name值得cookie
        則直接轉到首頁。同樣,每個頁面也會放行。