JSP/개념정리

JSP 와 JDBC 연결

Itchild 2024. 4. 26. 12:01
728x90
반응형

 

커뮤니티 형식의 게시글 작성 및 삭제, 회원정보변경 , 회원가입의 기능을 구현해 볼 예정이다.

 

MemberVO 와 BoardVO 의 멤버변수 확인하기

JDBC 연결

JDBC 과정은 DB 데이터베이스 포스팅에서 자세하게 나와있으니 참고하시기 바랍니다.

 

 

우리는 MVC 패턴과 마찬가지로 client 클래스 에서 startApp() 함수를 실행시켜 컨트롤러로 이동했다.

JSP에서도 마찬가지로 index 창에서 실행을 시작한다.

sendRedirect 로 화면 이동해줘 "controller.jsp" 로 ! 근데 거기서 액션이 "main" 인 조건문으로

 


sendRedirect 로 화면 이동해줘 "controller.jsp" 로 ! 근데 거기서 액션이 "main" 인 조건문으로

 

컨트롤러로 왔을때 action을 먼저 선언해준다. 정보를 받아오는데 "action" 이라고 된 것들을 action에 담아준다. 변수 재활용 해서 담아준다. action이 "main" 이라는 이름과 같을때 (= index 페이지에서 처음으로 넘겨받는 곳)

게시글 배열리스트의 목록을 출력하고 그것을 "datas" 라는 이름의 datas로 보낸다(setAttribute)

getRequestDispatcher 라는 친구는 sendRedirect와 유사한 친구인데 sendRedirect는 데이터를 유지하지 않고 이동하는데 얘는 데이터를 유지하는 forward가 실행되면서 이동한다. b_main 페이지도 이동한다.

 

 

메인페이지에 도착하면 아이디, 비밀번호 입력 하는 칸이 있고 상단에 회원가입 a태그가 있고 밑에는 글 목록들이 출력 되게 된다.

이런모습 b_main 페이지

 

처음 회원 가입부터 로그인까지 진행 해보려고 한다.

  1. 회원가입

회원가입 태그를 누르게 되면 일단 "controller " 로 가줘 . action 이름이 "signupPage" 인 곳으로

항상 view -> view 직접 못 움직이기 때문에 컨트롤러를 거쳐 가기 위해 만들어졌고 여기서 또 명령해준다.

sendRedirect 로 페이지 이동 e_signup 회원가입 페이지로 이동한다.

 

회원가입 페이지로 들어오면 아이디,비밀번호,이름을 입력하고 "submit"을 통해 사용자 정보를 전송할 수 있다.

입력한 정보는 form 의 action으로 "controller"로 다시 이동할 것이며 전송방식은 데이터가 양이 많을 수도 있고,url에 드러나지 않는 보안성 때문에 "post" 방식으로 보낼 것이다. 컨트롤러에서 여기서 보낸 정보를 찾기 위해선 "signup" 이라는 이름으로 정보를 받는다.

 

 

우리가 필요한 것들을 상단에 선언 해놓는다.

상단에 useBean 과 setProperty 로 setter를 받아와 라고 선언 해주어서 바로 vo와 dao 사용이 가능하다. mVO로 받은 정보를 mDAO에 insert 한다. 반환은 boolean 타입이기 때문에 flag 로직으로 성공 실패를 나눈다. 실패는 바로 전 페이지로 돌아가고 성공시 메인페이지로 돌아간다.

 


2. 로그인하기

메인으로 돌아와서는 mid 멤버의 PK를 받는다. 보통 String 문자열로 보내기 때문에 String 으로 형변환을 시켜준다. 여기서 만약 mid== null 이니 ? 정보가 비어있니? 로그인이 안되어있니 ? 상태 일때 우리는 로그인을 하기위해 정보들을 입력해야한다. 아이디,비밀번호를 입력하고 컨트롤러로 보낸다. action의 이름이 "login" 인것으로

 

사용자에게 받은 아이디,비밀번호를 보내오면 컨트롤러에서 selectOne을 통해 데이터베이스에 저장된 회원인지 확인을 해본다. selectOne은 사용자가 입력한 정보랑 내가 가지고 있는 회원정보랑 일치하니 ? 를 본다.

만약 그런 회원정보가 없다면 실패가 뜨고 다시 전 페이지로 돌아간다. 성공이라면 "mid" 라는 이름으로 회원아이디 (PK)를 보내준다. 그리고 메인페이지로 돌아간다.

 

아까 위의 조건문이 로그인이 안되어 있니 ? 였는데 그것의 반대로 로그인이 됐다면 이제 마이페이지 라는 링크와

로그아웃이라는 링크가 보이도록 설정 해준다.


3. 로그아웃 하기

여기서 로그아웃을 누르게 되면 마찬가지로 컨트롤러로 이동한다. action이 logout인 곳으로

로그아웃으로 받아온 컨트롤러는 현재 접속해있는 mid(PK)를 제거 해준다. 그리고 다시 메인페이지로 돌아간다.

 

728x90
반응형