1
對於我們有登錄頁面的實例。我們正在創建會話並追加我們的文本。我正在嘗試比較舊會話和新會話。讓我們把,比較新舊會話
1)用戶登錄與測試//如果密碼不正確,它會回重定向到登錄頁面和「測試」追加到會話
2)但是,如果用戶登錄與第二次嘗試不同的用戶名//我想將它附加到新的會話並與舊的會話進行比較。 比方說,,
if(session1 is not equal to session 2){
restart attempt incremental
} else if (session1 is to session 1){
increment attempt to -1
}
讓我們把這種 我們的JSP文件中遵循
<form action="servlet" method="post">
<input type="text" name="username">
</form>
在我們的servlet文件
doPost(HttpSe....){
//Get Parameter
String name = request.getParameter("username");
//Create session
HttpSession session = request.getSession(true);
session.setAttribute("username", name);
String session_name = (String)session.getParameter("username");
//validate if username is = test, it will redirect
if(name.equal("test")){
//this will redirect to different page
} else if(session_name.equals(name)){
//do something..
} else {
//do something...
}
我只是需要比較舊的會話和新的會話。
我嘗試使用(session.isNew()),但它不工作,它總是會重定向我else語句..
這是我的實際代碼
HttpSession session = request.getSession(true);
HttpSession session_Newusername = request.getSession(true);
session.setAttribute("Username", username);
String session_Username = (String)session.getAttribute("Username");
System.out.println(" data .... " + session_Username);
int loginAttempt;
if(session.getAttribute("loginCount") == null){
session.setAttribute("loginCount", 0);
loginAttempt = 0;
} else if(session.isNew()) {
System.out.println("If user key in same username");
loginAttempt = (Integer)session.getAttribute("loginCount");
if(loginAttempt == 3){
session.setMaxInactiveInterval(5);
session.setAttribute("message", "Your account is blocked, Please contact admin or wait for 2mins");
//System.out.println(session.getAttribute("message"));
response.sendRedirect("Pages/Login/login.jsp");
} else {
System.out.println("How many attempt left " + loginAttempt);
loginAttempt++;
int leftAttempt = 4 - loginAttempt;
session.setAttribute("message", "You are left with " + leftAttempt + " attempt");
//System.out.println(session.getAttribute("message"));
response.sendRedirect("Pages/Login/login.jsp");
}
session.setAttribute("loginCount", loginAttempt);
} else {
response.sendRedirect("Pages/Login/login.jsp");
System.out.println("username is not the same");
session.invalidate();
}
}
所以你有什麼問題嗎? –
我想將新值存儲在新會話中,並將其與新會話中的舊值進行比較 –
交換值,以便您可以輕鬆存儲新值並與其他值進行比較。 – Tehmina