Java WEB 第8章 登錄功能實現-登錄成功跳轉主頁面
第8章 登錄功能實現-登錄成功跳轉主頁面
8.1 涉及的技術知識點
? ? ? 1)? ?Session會話 ?CookieJSTL標簽
8.2 Cookie
? ? ? ?1)? HTTP是無狀態協議,服務器不能記錄瀏覽器的訪問狀態,也就是說服務器不能區分中兩次請求是否由一個客戶端發出。這樣的設計嚴重阻礙的Web程序的設計。如:在我們進行網購時,買了一條褲子,又買了一個手機。由于http協議是無狀態的,如果不通過其他手段,服務器是不能知道用戶到底買了什么。而Cookie就是解決方案之一。
? ? ? 2)? Cookie實際上就是服務器保存在瀏覽器上的一段信息。瀏覽器有了Cookie之后,每次向服務器發送請求時都會同時將該信息發送給服務器,服務器收到請求后,就可以根據該信息處理請求。
? ? ? ?3)? Cookie的用途
網上商城購物車
用戶登錄狀態的保持
? ? ? ?4)? Cookie的限制性
- Cookie最為請求或響應報文發送,無形中增加了網絡流量。
- Cookie是明文傳送的安全性差。
- 各個瀏覽器對Cookie有限制,使用上有局限
? ? ? ? ?5)? Cookie的具體使用
-
- 創建cookie
- 讀取cookie
8.3 Session
? ? ? 1)? ?使用Cookie有一個非常大的局限,就是如果Cookie很多,則無形的增加了客戶端與服務端的數據傳輸量。而且由于瀏覽器對Cookie數量的限制,注定我們不能再Cookie中保存過多的信息,于是Session出現。
? ? ? 2)? Session的作用就是在服務器端保存一些用戶的數據,然后傳遞給用戶一個名字為JSESSIONID的Cookie,這個JESSIONID對應這個服務器中的一個Session對象,通過它就可以獲取到保存用戶信息的Session。
? ? ? 3)? Session的工作原理
- Session的創建時機是在getSession()方法第一次被調用時。
- Session被創建后,同時還會有一個名為JSESSIONID的Cookie被創建。
- 這個Cookie的默認時效就是當前會話。
- 簡單來說,Session機制也是依賴于Cookie來實現的
? ? ? ?4)? Session的具體使用? ? ? ? 5)? Session的時效問題
????Session默認有效時間為30分鐘,可以在服務器的web.xml配置中修改.
8.4 URL重寫?
? ? ? ? ?1)? ?整個會話控制技術體系中,保持JSESSIONID的值主要通過Cookie實現。但Cookie在瀏覽器端可能會被禁用,所以我們還需要一些備用的技術手段,例如:URL重寫。
? ? ? ? ?2)? URL重寫其實就是將JSESSIONID的值以固定格式附著在URL地址后面,以實現保持JSESSIONID,進而保持會話狀態。這個固定格式是:URL;jsessionid=xxxxxxxxx
? ? ? ? ?3)? 實現方式
8.5 具體功能展示