Java web基礎學習筆記之會話管理

2021-08-06 06:28:47 字數 1200 閱讀 8708

1、會話管理的三種解決方案

(1)使用隱藏域

在jsp中將input標籤的type屬性值設定為hidden,即生成乙個隱藏表單域。再將會話的唯一標識記錄到隱藏域中的value屬性中,並設定name屬性值。當表單提交時,會話標識也被提交到服務端,服務端根據它找到對應的會話物件。使用隱藏域時,需要在每個頁面中都包含會話標識表單,這樣才能在許多頁面跳轉之間儲存會話,並對他進行管理。

(2)使用cookie

原理是在服務端儲存的會話物件中設定會話的唯一標識,客戶端將會話標識儲存在cookie中,當瀏覽器發起請求時,從cookie中取得會話標識並傳送給伺服器,伺服器在收到請求後,根據傳送過來的會話標識查詢到對應的會話物件,這樣服務端就清楚當前是哪個客戶端在連線,並且可以從會話中獲得資訊。

(3)使用url重寫

在url位址的末尾新增會話標識,改寫了原來的url位址。用於客戶端不支援cookie的情況下。重寫方法如下:

response.encodeurl("login.jsp");

或者:response.sendredirect(response.encoderedirecturl("login.jsp"));

如果客戶端支援cookie,則生成的url不變;如果不支援,生成的url中會帶有jsessionid字串的位址。

2、會話管理的主要任務

生成唯一的會話標識、儲存會話物件、從web容器中取得當前請求的會話、**空閒會話。

3、獲取使用者的session物件

httpsession session = request.getsession();      //獲取session物件

session.setattribute("username","shana");         //設定session中的屬性

4、在web專案中禁用cookie

(1)對單個專案禁止

<?xml version="1.0" encoding="utf-8"?>

(2)禁止部署在tomcat伺服器裡的所有web專案

<?xml version="1.0" encoding="utf-8"?>

......

5、httpsession的有效期設定方法

(1)呼叫session的setmaxinactiveinterval(long interval)進行設定

(2)在web.xml中修改,例如:

30

JavaWeb學習筆記 java基礎 7 反射

載入類,解析類組成 用來做框架 反射載入類person 3種方法 1class clazz class.forname com.sws.peerson 2class clazz1 new person getclass 3 class clazz3 person.class 反射類的建構函式並建立物...

java web初學筆記之

pagecontext作用域 當前頁面,也就是只要跳轉到別的頁面就失效了。如果把變數放到pagecontext裡,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裡。其生命週期即把該變數放到pagecontext開始到jsp頁面結束。如果num變數是pagecontext作用域的,則當訪問...

JavaWeb自學之html學習筆記 Day 2

5 影象標籤 src 的路徑 width 的寬度 height 的高度 alt 上顯示的文字 相容性差,有些瀏覽器不顯示此屬性,不重要 6 路徑的介紹 分類 兩類 絕對路徑 c users administrator desktop html學習筆記 相對路徑 乙個檔案相對於另外乙個檔案的位置 三種...