方法一 cookie
伺服器在客戶端儲存使用者的資訊,並在需要的時候從客戶端(本機)讀取使用者資訊
功能: (1) 儲存使用者名稱和密碼,在一定時間不需重新登入
(2) 記錄使用者訪問**的喜好
(3) **的個性化
方法二 sendredirect跳轉(保密性不好,傳遞的資訊會在url上顯示)
例項:sendredirect("wel?uname=ksyoon&pass=123");
注意點:(1)wel代表要跳轉到的該servlet的內容;
(2)servlet的url與變數之間用?連線;
(3)若要傳遞兩個或兩個以上變數用&連線;
(4)若要傳遞的資料是中文,會得到亂碼;
修改logincl.j**a**,實現當使用者資訊填寫正確時,跳轉到歡迎頁面並顯示使用者名稱和密碼
修改wel.j**a**,獲取使用者名稱並在頁面顯示
在瀏覽器上訪問http:127.0.0.1:8080/myweb-site/login,使用者資訊填寫正確後,跳轉到歡迎頁面,顯示如下:
方法三 session技術
session的各個屬性會占用伺服器的記憶體,因此軟體公司在迫不得已的情況下才使用session
應用: (1) 網上**中的購物車 (2) 儲存登入使用者的資訊 (3)防止使用者非法登入到某個頁面
(4)將某些資料放在session中,供同一使用者的各個頁面使用
常用方法:
(1)獲得session,若沒有則建立session httpsession hs = req.getsession(true);
(2)向session中新增屬性 hs.setattribute(string name,object value);
(3)從session中獲得某個屬性 string name= hs.getattribute(string name);
(4)從session中刪除某個屬性
hs.removeattribute(string name);
(5)設定session存在時間,預設存在時間為30min,此方法中時間單位s hs.setmaxinactiveinterval(int time);
思路:
(1)在sessiontest1.j**a中新建session屬性,並設定其存在時間,在sessiontest2.j**a中訪問session屬性,並測試在存在時間之外訪問session是否能讀取其屬性值
(2)分別進行servlet部署,如下:
(3)開啟tomcat,在瀏覽器上訪問http:127.0.0.1:8080/myweb-site/sessiontest1,頁面效果如下:
在設定的session存在時間10s內,在同個頁面上將sessiontest1改成sessiontest2,頁面效果如下:
發現:兩個頁面效果中sessionid一樣,在10s不做任何重新整理操作的情況下,再次訪問sessiontest2,頁面效果如下:
方法四
隱藏表單提交(form)
案例思路:分別新建兩個j**a檔案,乙個命名為hiddenform1(隱藏使用者的性別資訊),另乙個命名為hiddenform2(文字輸出使用者性別資訊),
**如下:
分別進行servlet部署
開啟tomcat,在瀏覽器上訪問頁面顯示如下:
隨意填寫使用者資訊後,點選login,頁面顯示如下:
若想通過傳輸變數到使用者性別,只需新增或修改hiddenform1的**
string s = "女";
pw.println("");
最終頁面顯示:
不同按鈕進入同乙個頁面顯示不同的div
頁面一的按鈕 納稅報表 資產負債表 利潤表現金流量表 頁面二在載入前進行判斷 mounted function else if list.indexof debet 1 else if list.indexof profit 1 else if list.indexof money 1 window...
防止同一使用者同時登陸的實現 單WEB服篇
背景 功能像咱倆上同乙個qq號,你先上去了,然後我用同樣的號登陸,你的肯定就掉線了,就是這個功能.該方案只考慮了web伺服器為一台的情況.多台以後再寫一篇.思路 記錄使用者登陸資訊 登陸時間,使用者 id 每隔一段時間 如 5秒怎麼樣?檢查儲存的登陸資訊。如果發現多個,則比較各個的登陸時間,如果自己...
Ubuntu中的使用者管理(一)使用者賬戶
linux 系統中通常有三種型別的使用者 超級使用者 super user 常規使用者 regular user 和系統使用者 system user 超級使用者的 uid和 gid都是 0。常規使用者的 uid從 1000 開始。系統使用者的 uid從 1 499 還包括 65,534 ubunt...