2014-12-30 6 views
1

사용자가 3 번 로그인하지 못한 경우 Help 링크가 나타납니다.세션을 약간 증가 시키십시오.

doLogin 서블릿에 내 코드 : Login.jsp 페이지에서

if (logedInSuccessfully()) { // OK 
//create session and add sum attributes 
    response.sendRedirect("Home.jsp"); 
} else { 
    int i = 0; 
    HttpSession session = request.getSession(true); 
    session.setAttribute("existsInDB", "No"); 
    session.setAttribute("tryTimes", ++i); 
    response.sendRedirect("Login.jsp"); // back to log in page again 
} 

:

그래서 내가 세션에서 어떤 값을 저장하고 (tryTimes이라고 함)의 값마다 사용자 로그를 확인해야합니다

<%@page contentType="text/html" pageEncoding="UTF-8"%> 

<!DOCTYPE html> 
<html> 
<head> 
    <title> Login Page </title> 
</head> 
<body> 
    <% 
     int tryTimes = 0; 

    if (String.valueOf(session.getAttribute("existsInDB")).equalsIgnoreCase("No")) { 

     JOptionPane.showMessageDialog(null, "No: " + session.getAttribute("tryTimes")); 
      if (tryTimes >= 3) { 
    %> 
<a href="LoginHelp.jsp"> <font color="white"> Need Help? </font> </a> 
    <% 
      } 
     } 
    %> 
... 
//End of page 

그러나 내가 i의 값을 테스트하면 항상 1이고 변경되지 않습니다. 엘.

m 코드에 어떤 문제가 있습니까? 당신이 모든 시간을 1 넣어 때문에

답변

4

, 당신은 그 값을 읽은 후 당신은 '아무튼 JOptionPane

변화

int i = 0; 

JSP에

int i = Integer.parseInt(session.getAttribute("tryTimes") == null ? "0" : session.getAttribute("tryTimes")); 

에 다음 증가 필요 의미가 있습니다. HTML을 생성해야합니다.

또한 JSP에서 세션 속성을 읽지 않습니다. tryTimes

관련 문제