지금까지 한 게시판 구현하기에 회원관리 기능을 넣어주려고 한다.
일단 sql파일에 회원관리에 쓸 테이블을 만들어준다.
mvcboard.sql
회원 번호, 아이디, 비밀번호, 이름, 주소, 연락처, 이메일, 가입/탈퇴 여부, 등급에 대해 만들어주고 제약조건도 걸어준다.
적당히 관리자 계정과 유저 계정을 넣어줬다.
select * from bdmember; 를 해줘서 잘 생성+입력됐는지 확인하고 넘어간다.
BDMemberDto.java
다음으로 dto를 만들어준다.
객체를 생성해주고 생성자와 getter&setter까지 해준다.
BDMemberDao.java
dao 에 관리자 기능을 하는 메소드와 유저 기능을 하는 메소드를 미리 만들어준다.
그리고 이제 main 의 오른쪽 맨 위에 로그인으로 가는 링크를 걸어준다.
화면은 완벽히 나오니 login 버튼을 누를 시 화면이 넘어갈 수 있게 기능을 구현해본다.
다시 login.jsp로 가서 submit을 누를시 logincontroller.jsp로 넘어가고 요청은 login으로 넘겨주기로 한다.
logincontroller.jsp
회원관리 기능을 할 controller를 따로 만들어 줬다. 인코딩과 임포트를 해주고 command를 받아와 요청을 처리해준다.
dao로 넘어가 login( ) 메소드를 완성해준다. 미리 만들어준 JDBCTemplate를 잊지 않고 임포트해 오류가 나지 않게 한다. db를 연결하고 BDMember 테이블에 있는 id와 pw 그리고 가입되어있는(enabled="Y") 유저를 찾는 쿼리를 실행시켜 그 값을 res에 담아 리턴시킨다.
이제 다시 logincontroller.jsp로 넘어가 요청 처리를 마무리해준다.
로그인은 session으로 유지시간을 60분으로 설정한다.
- page : 해당 jsp에서만 공유
- request : 요청부터 응답까지 공유
- session : 해당 브라우저 안에서 설정한 시간동안 공유 (페이지 전환되어도 공유)
- application : 서비스 전체에서 공유
만약 로그인 성공시 관리자라면 관리자 페이지로, 유저라면 유저페이지로 넘긴다.
혹시나 로그인 실패시 로그인 실패 알림과 시작 페이지로 넘기기로 한다.
완전히 로그인 성공하기 위해 나머지 페이지도 마저 만들어준다.
adminpage.jsp
간단히 인코딩과 임포트 그리고 화면 구현을 해준다.
로그인시 가져온 세션의 dto로 데이터를 뿌려준다.
userpage.jsp
이 역시 인코딩과 임포트 그리고 화면구성을 해준다.
이제 로그인을 하면 관리자는 이렇게
일반 회원은 이렇게 화면이 구현된다.
댓글