標籤:讀取 使用 位置 技術分享 有效期間 方法 伺服器端 username more
http協議的無狀態性1、無狀態是指,當瀏覽器發送請求給伺服器的時候,伺服器會響應。但當同一個瀏覽器再次發送請求時,伺服器不會知道是剛才那個瀏覽器。2、簡單說,伺服器【不會儲存使用者狀態】,不會記得用戶端是否訪問過,所以這就是無狀態協議。
jsp狀態管理 儲存使用者狀態的兩大機制 1、Session 2、Cookie 什麼是cookie? cookie:是web伺服器儲存在用戶端的一系列文本資訊。典型應用之一:判斷註冊使用者是否已經登入網站。典型二:儲存使用者瀏覽記錄。 cookie的作用: 1、對特定對象的追蹤。 2、儲存使用者網頁瀏覽記錄與習慣。 3、簡化登入安全風險:容易泄露使用者資訊。
jsp中建立與使用Cookie:1、建立Cookie對象:Cookie cookie=new Cookie(String key,Object value);2、寫入Cookie:response.addCookie(cookie);3、讀取Cookie:Cookie[] cookies=request.getCookies();
常用方法:1. setMaxAge( expiry ) 設定cookie的有效期間,以秒為單位 getMaxAge() 擷取cookie的有效時間,以秒為單位2. setValue(String value) 在cookie建立後,對cookie進行賦值 getValue() 擷取cookie的值3. getName() 擷取cookie的名稱4. setValue()和getValue()涉及的都是字串,對應前面提到的 Cookie是web伺服器儲存在用戶端的文字檔。
解決Cookie無法儲存中文字串的問題1.java.net包下的URLEncoder類來進行編碼public static encode(String string, String enco);2.URLDecoder類進行解碼URLDecoder.decode(String string, String enco);3.如果在登入介面把username和password的值設為了null,那麼在登陸框就會出現null最好是設為""4.尋找Cookie時,是按照k值進行尋找的-----------------------------------使用URLEncoder(在java.net包下)解決無法在Cookie當中儲存中文字串問題:String username = URLEncoder.encode(request.getParameter("username"),"utf-8");//編碼,防止中文亂碼String password = URLEncoder.encode(request.getParameter("password"),"utf-8");//編碼,防止中文亂碼
session與cookie對比1.儲存位置:session在伺服器端記憶體,cookie在用戶端文本2.儲存對象:session儲存Object類(儲存對象大小沒有限制),cookie儲存String類型(儲存對象大小有限制)3.生存權:session會話結束即銷毀,cookie可以長期儲存在用戶端4.重要性:session安全性更高,儲存重要訊息,cookie儲存不重要的資訊
JSP-JSP狀態管理