2011-03-12 13 views
1

내 데이터베이스에서 특정 회원을 검색하여 회원 ID을 검색하는 프로젝트를 수행하고 있습니다. (정말 문제가 있다면 정말 확실하지) 나는 캐치 (예외 예)에서계속 받기 : javax.el.PropertyNotFoundException : 클래스 '...'에 '...'속성이 없습니다.

javax.el를 오류 메시지가 계속 있기 때문에 선택된 정보 만 나는 나의 자바 클래스 세터에 문제가 있어요. PropertyNotFoundException : 'Project.Members'클래스에 'FirstName'속성이 없습니다.

내 코드에 무슨 문제가 있는지 알아낼 수 있습니까?

public class SearchAMember extends HttpServlet { 


protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 
    Connection con = null; 
    PreparedStatement stmt = null; 
    ResultSet rs = null; 
    String query = "SELECT memberId, FirstName FROM members WHERE memberId = ?"; 
    try { 
     out.println("<html>"); 
     out.println("<head>"); 
     out.println("<title>Servlet SelectDemo</title>"); 
     out.println("</head>"); 
     out.println("<body>"); 

     try { 
      Class.forName(Connect.DRIVER); 
      con = DriverManager.getConnection(Connect.CONNECTION_STRING, 
        Connect.USERNAME, Connect.PASSWORD); 

      stmt = con.prepareStatement(query); 
      int findId = Integer.parseInt(request.getParameter("id")); 
      stmt.setInt(1, findId); 
      rs = stmt.executeQuery(); 

      Members std; 
      if (rs.next()) { 
       std = new Members(); 
       std.setMemberId(rs.getInt("memberId")); 
       std.setFirstName(rs.getString("FirstName")); 
       request.setAttribute("Members", std); 
       RequestDispatcher rd = request.getRequestDispatcher("/DisplayAllMembers.jsp"); 
       rd.forward(request, response); 
      } else { 
       out.println("No record found..."); 
      } 

     } catch (ClassNotFoundException ex) { 
      out.println("Driver not found..."); 
     } catch (SQLException ex) { 
      out.println("Failed connection or query...." + ex.getMessage()); 
     } catch (Exception ex) { 
      out.println("Error.... " + ex.getMessage()); 
     } finally { 
      try { 
       con.close(); 
      } catch (SQLException ex) { 
      } 
     } 
    } finally { 
     out.println("</body>"); 
     out.println("</html>"); 
     out.close(); 
    } 
} 

/*<--HttpServlet Method was here-->*/ 
} 

}

내 getter 및 setter 내 Member.java 클래스 :

공용 클래스 회원 {

private int memberId; 
private String Username; 
private String Password; 
private String FirstName; 
private String MiddleName; 
private String LastName; 
private String Address; 
private String Email; 
private int CurrPoints; 

public String getAddress() { 
    return Address; 
} 

public int getCurrPoints() { 
    return CurrPoints; 
} 

public String getEmail() { 
    return Email; 
} 

public String getFirstName() { 
    return FirstName; 
} 

public String getLastName() { 
    return LastName; 
} 

public String getMiddleName() { 
    return MiddleName; 
} 

public String getPassword() { 
    return Password; 
} 

public String getUsername() { 
    return Username; 
} 

public int getMemberId() { 
    return memberId; 
} 

public void setAddress(String Address) { 
    this.Address = Address; 
} 

public void setCurrPoints(int CurrPoints) { 
    this.CurrPoints = CurrPoints; 
} 

public void setEmail(String Email) { 
    this.Email = Email; 
} 

public void setFirstName(String FirstName) { 
    this.FirstName = FirstName; 
} 

public void setLastName(String LastName) { 
    this.LastName = LastName; 
} 

public void setMiddleName(String MiddleName) { 
    this.MiddleName = MiddleName; 
} 

public void setPassword(String Password) { 
    this.Password = Password; 
} 

public void setUsername(String Username) { 
    this.Username = Username; 
} 

public void setMemberId(int memberId) { 
    this.memberId = memberId; 
} 

이 내 서블릿 코드

}

또한이 내 JSP로입니다 :

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 
    <h1>Members Information</h1> 
    Id: ${Members.memberId}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    Name: ${Members.FirstName}<br/> 
</body> 

합니까 문제였다 내 Members.java 클래스에서? 나는 정말로 그게 무엇인지 잘못 알고 있습니다. 제발 도와주세요 ...

답변

3

Java 명명 규칙을 존중해야합니다. 변수는 항상 소문자로 시작합니다. 속성은 소문자로 시작합니다. 그리고 Members 클래스는 하나의 멤버를 대표하기 때문에 멤버가 아닌 멤버라고도합니다.

request.setAttribute("member", std); 

public class Member { 
    private String firstName; 
    // ... 
    public String getFirstName() { 
     return this.firstName; 
    } 
} 

Id: ${member.memberId}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Name: ${member.firstName}<br/> 
+0

JB Nizet 대단히 감사합니다 ... 저는 java에 대해 잊어 버렸습니다. 이제는 내 수업을 배웠습니다 ... 감사합니다. 다시 선생님 :) – iamanapprentice

관련 문제