URL | 설명 |
---|---|
/allMember | 전체 회원 목록 조회 |
/searchIdForm.jsp | 회원 ID 입력 폼 페이지 |
/searchIdMember | 회원 ID로 회원 정보 조회 (Servlet) |
/searchNameMember | 회원 이름으로 회원 정보 조회 (Servlet) |
<!-- index.jsp: 메인 메뉴 역할 -->
<a href="allMember">전체 회원 조회</a>
<a href="searchIdForm.jsp">회원 아이디로 조회</a>
public class Member {
private int memberNo; // 회원번호
private String memberId; // 아이디
private String memberPw; // 비밀번호
private String memberName; // 이름
private String memberPhone; // 전화번호
private String memberAddr; // 주소
private int memberLevel; // 회원 등급 (1:관리자, 2:정회원, 3:준회원)
private String enrollDate; // 가입일
// 기본 생성자 및 전체 필드를 초기화하는 생성자 정의
// Getter & Setter 메서드 정의
// toString() 오버라이딩
}
public static Connection getConnection() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:xe", "server_test", "1234"
);
conn.setAutoCommit(false); // 수동 커밋 설정
return conn;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
JDBC 드라이버 로딩, DB 연결, 트랜잭션/자원 관리 기능을 제공
public ArrayList<Member> selectAllMember(Connection conn) {
// 전체 회원 리스트 조회
String query = "SELECT * FROM tbl_member";
PreparedStatement pstmt = conn.prepareStatement(query);
ResultSet rset = pstmt.executeQuery();
while (rset.next()) {
Member m = new Member();
// 각 컬럼 값 세팅
m.setMemberId(rset.getString("member_id"));
// 나머지 setXxx() 생략...
list.add(m);
}
return list;
}
public Member selectIdMember(Connection conn, String searchId) {
// 특정 ID 회원 조회
String query = "SELECT * FROM tbl_member WHERE member_id = ?";
pstmt.setString(1, searchId);
ResultSet rset = pstmt.executeQuery();
if (rset.next()) {
return new Member(...); // rset에서 각 필드값 읽어 생성
}
return null;
}
public class MemberService {
private MemberDao dao = new MemberDao();
public ArrayList<Member> selectAllMember() {
Connection conn = JDBCTemplate.getConnection();
ArrayList<Member> list = dao.selectAllMember(conn);
JDBCTemplate.close(conn);
return list;
}
public Member selectIdMember(String id) {
Connection conn = JDBCTemplate.getConnection();
Member m = dao.selectIdMember(conn, id);
JDBCTemplate.close(conn);
return m;
}
public Member selectNameMember(String name) {
Connection conn = JDBCTemplate.getConnection();
return dao.selectNameMember(conn, name);
}
}
@WebServlet("/allMember")
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
request.setCharacterEncoding("utf-8");
ArrayList<Member> list = new MemberService().selectAllMember();
// HTML로 테이블 출력
}
@WebServlet("/searchIdMember")
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
String memberId = request.getParameter("memberId");
Member m = new MemberService().selectIdMember(memberId);
// 결과를 HTML로 출력
}
@WebServlet("/searchNameMember")
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
String name = request.getParameter("memberName");
Member m = new MemberService().selectNameMember(name);
// 결과를 HTML로 출력
}
<form action="searchIdMember" method="get">
<input type="text" name="memberId" />
<input type="submit" value="검색" />
</form>