2012-03-09 9 views
0

사용자가 웹 사이트의 certian 페이지에 액세스하기 위해 만들고있는 Java 웹 앱에 로그인 할 수있는 Java 웹 응용 프로그램을 만들려고합니다. 아래에 사용자의 전자 메일과 암호가 구성원 데이터베이스에 있는지 확인하는이 코드가 있습니다.세션 변수가 설정되지 않았습니다.

그러나 seesion 변수를 설정하려고하면 null입니다.

try { 
     Class.forName(driver).newInstance(); 
     conn = DriverManager.getConnection(url, userName, password); 
     if (request.getParameter("email") != null && !request.getParameter("email").equals("") && request.getParameter("password") != null && !request.getParameter("password").equals("")) { 
      email = request.getParameter("email").toString(); 
      userpass = request.getParameter("password").toString(); 
      strQuery = "SELECT * FROM member WHERE email = ? and password =?"; 
      PreparedStatement stmt = conn.prepareStatement(strQuery); 
      stmt.setString(1, email); 
      stmt.setString(2, userpass); 


      System.out.println(stmt); 
      rs = stmt.executeQuery(); 
      int count = 0; 
      while (rs.next()) { 
       session.setAttribute("email", rs.getString(2)); 
       System.out.println(session.getAttribute(email)); //This is null in system console it should not be 
       count++; 
      } 
      if (count > 0) { 
       response.sendRedirect("index.jsp"); 
      } else { 
       response.sendRedirect("index.jsp"); 
      } 
     } else { 
      response.sendRedirect("gourmet.jsp"); 
     } 
     System.out.println("Connected to the database"); 
     conn.close(); 
     System.out.println("Disconnected from database"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

답변

3

코드에 간단한 구문 오류가 있습니다. 세션 변수는 따옴표 안에 있어야합니다. 사용해보기 :

System.out.println(session.getAttribute("email")); 
관련 문제