jsp中cookie與session等自己總結精華
阿新 • • 發佈:2019-02-20
(7)雖然Session儲存在伺服器,對客戶端是透明的,它的正常執行仍然需要客戶端瀏覽器的支援。這是因為Session需要使用Cookie作為識
別標誌。HTTP協議是無狀態的,Session不能依據HTTP連線來判斷是否為同一客戶,因此伺服器向客戶端瀏覽器傳送一個名為JSESSIONID
的Cookie,它的值為該Session的id(也就是HttpSession.getId()的返回值)。Session依據該Cookie來識別是否為同一使用者。
因為Session預設是需要Cookie支援的 但有些客戶瀏覽器是關閉Cookie的 這個時候就需要在URL中指定伺服器上的session標識
(8)傳送一次請求。
(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
則直接轉到首頁。同樣,每個頁面也會放行。