728x90
수정사항
UserDAO에서 아예 닉네임을 포함한 자바빈을 리턴할까? 고민했습니다.
일단은 편하게 id와 비밀번호 체제로 가볼까 합니다.
그래서 user 테이블이 id와 password 이 두 속성만 가지고 있습니다.
Login 페이지 복사하기
둘이 크게 다를 게 없잖아요?
login(눈으로 보이는 페이지)와 loginCheck(로그인 기능 구현 페이지)를 복사했습니다.
각각 registerForm과 register로 이름을 바꿔줬어요. 기존에는 로그인 페이지의 타이틀이 JIDO 였는데요.
회원가입이랑 로그인의 디자인이 똑같으니까 이게 뭐가 뭔지 구분이 안가더라구요.
그래서 타이틀도 로그인 회원가입으로 각각 변경해줬습니다.
signup 메서드 만들기
1
2
3
4
5
6
7
8
9
10
11
12
|
public void signup(String id,String password) {
String sql = "INSERT INTO USER VALUES(?,?)";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, password);
pstmt.executeUpdate();
}catch(Exception e) {
e.printStackTrace();
}
}
|
cs |
짜잔 insert 쿼리문을 실행하도록 했답니다.
login과 달라진 부분은 리턴 값이 없어서 소스 코드가 짧아졌네요.
그리고 pstmt.executeQuery가 아니라 Update를 썼어요.
Query는 select 구문에만 적용이 가능하답니다.
Update는 그 외의 모든 구문에 사용해도 괜찮아요.
register.jsp
1
2
3
4
5
6
7
8
9
10
|
<%
UserDAO userDAO = new UserDAO();
userDAO.signup(user.getId(), user.getPassword());
PrintWriter pout = response.getWriter();
session.setAttribute("id",user.getId());
pout.println("<script>");
pout.println("alert('회원가입이 완료되었습니다.')");
pout.println("location.href='map.jsp'");
pout.println("</script>");
%>
|
cs |
이쪽도 간단하네요.
회원가입 후에 바로 로그인 기능(세션밖에 없지만)을 선보입니다.
여기까지 했으면 테스트를 해봐야겠지요.
결과
테스트하기 전의 user 테이블입니다.
tester 회원을 추가해볼게요.
회원가입이 끝났다는 문구와 함께 map.jsp로 이동합니다.
마치 로그인을 한 느낌이죠??
실제로 DB에 들어갔나 체크해봅시다.
값이 정상적으로 저장이 되었군요.
오늘은 이렇게 회원가입 기능을 구현해봤습니다.
아직은 오류처리가 부족한 느낌이네요.
이쪽도 공부하고 추가해봅시다.
728x90
'TechTalk' 카테고리의 다른 글
github 오픈 소스 프로젝트 컨트리뷰트 하기(2) (0) | 2021.02.01 |
---|---|
메인 페이지 수정하기 (0) | 2020.07.28 |
[Linux] Terminal이 무엇일까? (0) | 2020.07.26 |
로그인 기능 구현하기(DB이용) (0) | 2020.07.24 |
로그인 기능 구현하기 - 에러 (0) | 2020.07.23 |