WEB應用程式狀態管理

2021-07-25 12:40:32 字數 1277 閱讀 8286

方案:cookie session url重寫 隱藏表單

會話:開啟瀏覽器,通過超連結或者按鈕返回伺服器,獲取到內容,關閉瀏覽器,稱為一次會話。

會話解決的問題----使用者訪問伺服器,想要儲存當前的資料。

表單隱藏字段

hidden可以區分多個表單提交。可以儲存當前使用者操作**的狀態。防止表單重複提交,儲存使用者的登陸狀態。

cookie

是客戶端的技術;程式把每個使用者資料都通過鍵值對的方式儲存到cookie。下次請求的時候將cookie放到請求頭裡面,再次訪問伺服器,伺服器就可以根據cookie裡面的內容來判斷當前使用者的狀態。

request.getcookies( );得到cookie陣列;

new cookie(「鍵」,「值」);新建cookie,缺省會話結束就消失

cook.setmaxage(60*60*24);設定cookie過期時間(秒);會將cookie儲存在硬碟

response.addcookie(cookie);響應cookie

session----伺服器為客戶建立並維護的用於存放客戶資訊的物件

伺服器端的技術。利用這個技術,我們可以為每乙個瀏覽器(使用者)建立乙個獨享的session物件。

session流程:

客戶端請求伺服器 建立乙個session,將sessionid儲存在cookie裡。再將cookie發

送回客戶端

客戶端再次請求,就將cookie傳送給伺服器,伺服器取出sessionid去匹配所以的 session,返回匹配的session物件

(request.getsession()匹配失敗會建立乙個session,傳乙個引數false則不會自動建立; .isnew()方法判斷是否是新建的session)

session物件的正常使用依賴於cookie。

url重寫:

url重寫是容器自動完成的,但需要我們對url進行編碼才有效。

cookie和url重寫同時存在是,cookie優先。為了防止使用者遮蔽cookie,可以將兩個技術用在一起。

//獲取到當前工程名

string path = request.getcontextpath()+request.getservletpath();

//url重寫是容器自動完成,我們只需對其進行編碼

string newurl = response.encodeurl(path);

//encoderedirecturl 多用於對重定向的編碼

string newurl2 = response.encoderedirecturl(path);

Web應用程式狀態管理

web應用程式狀態管理 一 web狀態管理概述 1 http協議使用的是無狀態的連線 2 對容器而言,每乙個請求都來自於乙個新的客戶 二 狀態管理解決方案 隱藏字段 2 為伺服器端程式提供預定義的輸入。3 儲存動態產生的頁面上下文資訊。三 cookie原理 1 伺服器在響應請求時將一些資料以 鍵 值...

web應用程式狀態管理

web應用程式狀態管理概述 http協議使用的是無狀態連線 1 客戶端和web伺服器建立連線 2 客戶端傳送http請求 3 伺服器端接收客戶端的http請求,生成http響應回發 4 伺服器端關閉連線,客戶端解析回發響應,恢復頁面 連線只針對乙個請求 響應,解決方案 1 表單隱藏字段 對伺服器端程...

WEB應用程式狀態管理

作用 實現請求響應過程結束後,web伺服器記得使用者曾經做過的請求,和發出過的響應,甚至跨多個請求保留資訊 解決辦法 如何儲存使用者的登入狀態資訊 cookies session url重寫 隱藏表單bidden 一 表單的隱藏字段 使用場景 1.1對使用者在 上的訪問進行會話跟蹤 1.2為伺服器端...