본문 바로가기
Backend/Servlet & JSP

[JSP_MVC ⑤] 회원 로그아웃, 회원가입 기능 ( 웹개발 기초 / 웹개발 독학 / 백엔드 / 웹 프로그래밍)

by 비전공자 기록광 2021. 2. 27.
반응형

2021.02.21 - [IT 독학/WEB] - [JSP_MVC ④] 회원관리 프로그램 만들기 ( 로그인 기능/ 웹개발 기초 / 웹개발 독학 / 백엔드 / 웹 프로그래밍)

 

로그인을 해서 관리자는 관리자 페이지로, 유저는 유저 개인페이지로 넘어가게 했다.

 

이번에는 로그아웃 기능과 회원가입 기능을 만들어준다.

 

 

일단 userpage.jsp와 adminpage.jsp에서 '로그아웃'을 누를시 logincontroller.jsp에 logout 요청을 보내준다.

 

 

logincontroller.jsp에서는 logout 요청을 받으면 간단히 세션의 정보를 삭제하고 login.jsp로 넘겨주는 걸로 처리한다.

 

로그아웃은 이렇게 간단히 처리할 수 있다.

 

 

다음은 회원가입 기능이다.

 

login.jsp에서 regist 버튼을 누르면 registform.jsp 로 넘어가게 해준다.

 

 

registform.jsp

회원가입 창을 만들어준다.

간단히 테이블을 만들어줘서 id, pw, name, addr, email, phone을 필수로 입력하게 해준다. (required 속성)

id에는 중복체크 버튼을 만들어줘서 중복체크를 확인하게 해준다.

 

화면은 간단히 구현됐고 기능을 넣어준다.

 

submit버튼을 누르면 logincontroller.jsp로 넘어가 insertuser 요청을 처리하게 한다.

logincontroller.jsp 넘어온 값들을 받아줘서 dto에 담아주고 dao의 insertuser( )메소드로 처리해준다.

 

 

dao의 insertuser( )메소드를 완성해주기 전에 미리 registform.jsp의 세부 기능을 만들어준다.

 

다시 registform.jsp로 넘어가 중복체크 기능을 만들어준다.

id에는 title속성을 추가해 'n'을 부여하고 중복체크 버튼에는 idChk() 메소드를, pw에는 idChkok() 메소드를 추가해준다.

 

그리고 js를 통해 두 메소드를 만들어준다.

 

먼저 id 중복체크를 안했을시 pw가 입력할 수 없게 강제로 focus를 id로 가져가게 해주는 idChkok 메소드를 완성해주고

 

idChk 메소드는 입력한 id를 가져와 중복체크하기 위해 logincontroller로 idchk요청을 보내준다.

 

 

같이 보내준 bm_id를 잘 받아주고 dao의 idChk( ) 메소드를 이용해준다.

 

db를 연결해주고 bm_id가 있는지 묻는 쿼리를 실행해 그 값을 res로 리턴해준다.

 

다시 logincontroller.jsp 로 돌아가 만약 res가 널이 아니라면 아이디는 이미 쓰여지고 있으니 idnotused 변수를 false가 된다. 이제 기능을 완성시켜주기 위해 idchk.jsp로 idnotused 값과 같이 넘겨준다.

 

idchk.jsp

controller에서 넘겨준 idnotused를 받아주고 화면에 구현할 테이블을 만들어준다.

일단 내가 입력한 id를 보여줄 td 하나,

아이디가 중복인지 아닌지 보여주는 td 하나,

그리고 확인 버튼 td 하나를 만들었다.

일단 idchk.jsp를 열면 첫번째 td에 유저가 registform.jsp에서 쓴 bm_id를 담아주고

확인 버튼 메소드도 완성해준다. idnotused에 따라 true면 중복이 없음 = id가 쓰여지지 않음 = 아이디 쓸 수 있음 이니 그 아이디를 쓸 수 있게 된다. 그리고 아이디중복 체크를 했으니 registform.jsp의 id의 title속성을 'n'에서 'y'로 변경해주고 idchk.jsp창을 닫아준다.

 

여기까지 진행한게 이렇게 구현된다.

 

1. regist 버튼을 누르면 회원가입 창으로

2. id를 치지 않고 pw를 먼저 눌렀다면 id 중복체크를 하라고 알림을 보내고 커서가 id창으로 간다

3. id를 치지 않고 중복체크를 먼저 눌렀다면 아이디를 입력하라고 알림을 보낸다

4. 원래 있는 아이디를 입력하고 중복체크를 하면 아이디 중복이 뜨고

5. 원래 없는 새로운 아이디를 입력하고 중복체크를 하면 아이디 생성가능이 뜬다

 

이제 마저 insertuser( )메소드를 완성해주러 dao로 간다

 

insert 쿼리문을 실행하고 값 하나하나에 dto.get~을 잘 넣어준다.

다 담은 res를 리턴해주면 다시 controller로 넘어간다.

 

쿼리의 결과값 res가 있다면 회원가입이 성공한 것이고 아니라면 실패한 것이다.

 

 

회원가입까지 잘 구현이 됐다.

db에서 조회해보면 insert가 잘 된걸 볼 수 있다.

반응형

댓글