회원가입
01. EnrollServlet.java
- com > kh > mvc > member > controller 밑에 생성
- URL Mappings : /member/enroll | doGet & doPost 생성
- get 요청 : url에 입력하는 doGet 요청으로 오면 jsp 페이지로 forward(URL이 바뀌지 않는다.)
- post 요청 : doPost 에는 넘어오는 데이터를 가지고 비즈니스 로직을 등록할 때 사용
02. enroll.jsp
- <form>태그의 action 속성에 url 등록한다. action="${ pageContext.request.contextPath }/member/enroll" method="post"
- 아이디 중복 검사는 AJAX로 구현
- 패스워드, 패스워드 확인 같은지 확인하는 로직 구현
03. EnrollServlet.java
- 데이터를 가져올 때, 하나의 행의 결과를 member 객체로 만들었었다.
- 가입할 때는, member 객체를 만들어서 데이터 베이스에 하나의 행(row)로 저장해보자.
- 사용자에게 받은 파라미터를 가지고 객체를 만든다.
- Member 객체를 생성한다.
- Member 객체에 값을 set한다.
member.setXXX(request.getParameter("YYY"));
- 그러나 이 서블릿에서도 실제 회원가입하는 비즈니스 로직은 구현하지 않는다.
- private MemberService service = new MemberService(); 객체를 만든다.
- service 객체에 save 메소드를 통해서 (member) 를 저장하거나, 업데이트를 한다.
- save() : DB에 INSERT, UPDATE 작업을 한다.
- DML인 UPDATE, INSERT, DELETE는 정수 값을 리턴한다.
- WHY? DML 작업은 영향 받은 행의 갯수를 리턴하기 때문이다.
- 이 결과를 가지고 로직을 구현한다.
if(result > 0 ) {
// 회원가입이 완료 되었다는 뜻
} else {
// 회원가입이 실패했다는 뜻
}
04. MemberService.java
- save() 메소드를 구현
public int save(Member member){
int result = 0;
result = dao.insertMember(member);
return result;
}
05. MemberDao.java
- insertMember() 메소드 구현
public int insertMember(Connection connection, Member member) {
int result = 0;
PreparedStatement pstmt = null;
String query = "INSERT 쿼리문";
try {
pstmt = connection.prepareStatement(query);
pstmt.setString(1, member.getXXX());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(pstmt);
}
return result;
}
'Programming > SERVER' 카테고리의 다른 글
DAY 124. MVC2 패턴 - 게시글 작성 (0) | 2021.12.20 |
---|---|
DAY 123. MVC2 패턴 - 게시글 목록, 페이징 (0) | 2021.12.19 |
DAY 119. MVC2 패턴 - JDBCTemplate (0) | 2021.12.15 |
DAY 118. MVC2 패턴 - 인코딩, 암호화 필터 (0) | 2021.12.14 |
DAY 117. MVC2 패턴 - 로그아웃 기능 (0) | 2021.12.13 |