2012-03-09 20 views
0

私はウェブサイトのcertianページにアクセスするために作成しているJava WebアプリケーションにユーザーがログインできるJava Webアプリケーションを作成しようとしています。以下のコードでは、メンバーのデータベースにユーザーの電子メールとパスワードが存在するかどうかを確認しています。セッション変数が設定されていません

しかし、私が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"));