본문 바로가기
스프링 부트/자바 웹을 다루는 기술

7.4 회원 정보 등록하기

by 989898 2024. 1. 20.
7.4 회원 정보 등록하기

 

그림 7-26 실습 파일 위치

 

1. 회원 가입창을 작성하기 위해 다음과 같이 memberForm.html을 작성한다. <hidden> 태그를 이용해 회원 가입창에서 새 회원 등록 요청을 서블릿에 전달한다.

 

➊ 자바스크립트에서 <form> 태그의 name으로 접근해 입력한 값들을 얻습니다.

➋ 전송 방법을 post로 지정합니다.

➌ 서블릿 매핑 이름을 member3으로 지정합니다.

➍ 서블릿으로 전송합니다.

➎ 입력한 ID를 서블릿으로 전송합니다.

➏ 입력한 비밀번호를 서블릿으로 전송합니다.

➐ 입력한 이름을 서블릿으로 전송합니다.

➑ 입력한 이메일을 서블릿으로 전송합니다.

➒ <hidden> 태그를 이용해 서블릿에게 회원 등록임을 알립니다.

 

2. MemberServlet 클래스를 다음과 같이 작성한다. command 값을 먼저 받아 와 addMember이면 같이 전송된 회원 정보를 받아 온다. 회원 정보를 MemberVO 객체에 설정한 후 MemberDAO의 메서드로 전달해 SQL문을 이용하여 테이블에 추가한다.

 

➊ command 값을 받아 옵니다.

➋ 회원 가입창에서 전송된 command가 addMember이면 전송된 값들을 받아 옵니다.

➌ 회원 가입창에서 전송된 값들을 얻어 와 MemberVO 객체에 저장한 후 SQL문을 이용해 전달합니다.

➍ 클릭하면 다시 회원 가입창으로 이동합니다.

 

Note ≡ PrepareStatemet에서 insert문 사용하는 방법

 PreparedStatement insert문은 회원 정보를 저장하기 위해 ?(물음표)를 사용합니다.

 ? id, pwd, name, age에 순서대로 대응합니다.

➌ 각 ?에 대응하는 값을 지정하기 위해 PreparedStatement setter를 이용합니다.

 setter() 메서드의 첫 번째 인자는 ‘?’의 순서를 지정합니다.

 ?은 1부터 시작합니다.

 insert, delete, update문은 executeUpdate() 메서드를 호출합니다.

 

3. MemberDAO 클래스를 다음과 같이 수정한다

 

➊ 데이터베이스와 연결합니다.

➋ 테이블에 저장할 회원 정보를 받아 옵니다.

➌ insert문을 문자열로 만듭니다.

➍ insert문의 각 ‘?’에 순서대로 회원 정보를 세팅합니다.

➎ 회원 정보를 테이블에 추가합니다.

 

4. 브라우저에서 회원 정보를 입력한 후 가입하기를 클릭.

5. 회원정보가 출력됨.