登陸現象詳解

2021-04-13 00:48:41 字數 1545 閱讀 3228

現象1:

當登陸以後,如果繼續重新整理頁面,次數還會不斷的增加。

現象2:

如果後退,那麼會顯示出登陸框。此時重新整理,會顯示登陸資訊。

//tile.jsp

<%

boolean isflag = false;

isflag = "1".equals(session.getattribute("flag"));

%>

<%

if(isflag)

else

%>

//login.jsp

<%

/* string str1 = request.getparameter("name");

string str2 = request.getparameter("password");

demo aa = new demo();

ab.setname(str1);

ab.setpassword(str2);

*/string tt = null;

int count = 0;

boolean flag = false;

logdb ldb = new logdb();

ldb.setdemo(ab);//獲得bean

dbconnection dbc = new dbconnection();

ldb.setdbconnection(dbc);//獲得連線

flag = ldb.i***ist();//判斷帳號和密碼正確是否正確 

%>

<%

if(flag==true)

else

%>

原因:當表單提交後,如果賬號和密碼正確,伺服器會將title.jsp中的內容讀取出來,傳送到login.jsp,顯示出登陸資訊。

頁面仍在title.jsp,如果這時候重新整理(「重新整理也就是一次request請求」),那麼會再次執行title.jsp中的內容(count++等),因此,如果繼續重新整理頁面,次數還會不斷的增加。

「後退」是將上次的頁面(title.jsp)原封不動的再顯示出來,所以後退後會顯示登陸框;如果重新整理,那麼會再次執行title.jsp中的內容,判斷 isflag = "1".equals(session.getattribute("flag"))時,由於flag的值為「1」,所以isflag為真,所以顯示出登陸資訊。

另注意:

如果login.jsp中bean的scope設為request,情況不會發生任何改變。因為在第一次登陸時(無論是否成功),都會例項化 乙個範圍為request的物件ab存放在pagecontent中。

若登陸成功後重新整理頁面,順序執行到**:

時,伺服器首先會檢查pagecontent中在request範圍內是否有ab例項物件,發現有,則不會再建立新的ab;而只有在bean第一次例項化時才建立,所以它也不會執行。(所以這裡要注意uesbean在jsp頁面載入過程是怎樣的,以及jsp:setproperty賦值時的要求)

登陸機制詳解

登陸機制可粗略分為三個部分 登陸驗證 登陸保持 登出 登陸驗證 登陸驗證是指客戶端提供使用者名稱和密碼,想伺服器提出登陸請求,伺服器判斷客戶端是否可以登陸並向客戶端確認 登陸保持 是指客戶端登陸後,伺服器能夠分辨出已登陸的使用者,並為其持續提供有登陸許可權的伺服器 登出 是指客戶端主動退出登陸狀態 ...

解決ecshop登陸自動退出的莫名現象

最近在做ecshop的二次開發,程式發布後測試出現乙個莫名的問題。點選幾次頁面後出現session丟失,需要重複登陸 本地怎麼測試也都無法重現問題。一開始以為是修改程式的問題,可是怎麼找都找不著問題所在。網上搜尋了一下,說是ip發生了變化引起的。於是做了如下測試 1 www.ip.cn查詢並記錄下i...

登陸mysql s MySQL登陸退出

單例項登陸mysql mysql mysql uroot 適合剛安裝後無密碼 mysql uroot p 標準登陸的方法 mysql uroot p password 密碼明文會洩露密碼,一般用於指令碼中,指令碼許可權root 700 多例項登陸mysql mysql s data 3307 mys...