[IT국비지원] 개발자 교육 45일 차 : SPRING(2023.09.27)fit.구디아카데미,김지훈 강사님

Nicole Gold·2023년 9월 27일
0

K-digital training

목록 보기
46/60

이하 구디아카데미 김지훈 강사님의 수업자료와 강의 내용 정리, 실습한 내용을 정리함

개힘들다ಥ_ಥ... 개발자 될 수 있는 걸까...

controller

MemberController

joinForm, join

  1. 기본 경로 index.jsp
  2. joinForm 요청이 들어오면 joinForm.jsp 로 보냄
  3. join 요청이 들어오면 map 타입 변수 params로 값들을 받음
  4. service 에 매개변수 params 를 넣고 join 메서드 실행해서 String 타입 변수 msg에 담음
  5. model 객체를 이용해 "msg"라는 키값에 msg 를 담음
  6. index.jsp 로 보냄

login

  • login 이라는 요청이 들어올 때 실행
  • login 메서드는 매개변수로 model 객체, id, pw 값, seesion 객체 사용
  • page 기본 값은 index
  • service 의 login 메서드에 id, pw 값을 넣어 실행한 결과를 Member DTO 타입의 변수 dto 에 담음
  • dto 가 null 이 아니면(id 와 pw 가 일치하면) session 의 setAttribute 메서드로 loginInfo 라는 키로 dto를 부를 수 있도록 함
  • 만약 dto 의 perm 값이 null 이 아니면(관리자라면) 변수 page 에 "redirect:/member/list" 를 담음
  • null 이라면 page 에 redirect:/board/list 를 담음
  • dto 가 null 이면 "msg" 키에 "id 또는 pw 를 확인하세요." 입력
  • 메서드의 반환값은 page

member/list

  • memberlist 메서드는 model 객체와 session 객체를 매개변수로 작동
  • 변수 page 기본값 index
  • session 의 loginInfo 를 가져와서 MemberDTO 타입 변수 dto 에 담음
  • 만약 info 가 null 이 아니고 info 의 perm이 null이 아니면(로그인 됐고 관리자면) 실행문 실행
  • service 의 memberList 메서드 실행하여 ArrayList 변수 memberList 에 담음
  • model 객체 사용하여 memberList 라는 키로 memeberList 를 불러올 수 있게 함
  • model 객체 사용하여 msg 키로 "환영합니다, 관리자 id(로그인 id) 님!" 이라고 출력
  • 조건 불충족 시 msg 키로 "해당 페이지에 대한 권한이 없습니다" cnffur
  • 메서드 반환값은 page

logout

  • logout 요청이 들어오면 처리
  • logout 메서드는 매개변수 session 사용
  • session 의 메서드 removeAttribute를 써서 loginInfo 라는 세션을 삭제함
  • context 경로를 redirect 함

jsp 에서 <a href="<c:url value='/logout'/>"> 로 입력 시 logout 요청은 상대 경로가 되어서 /member/logout 이나 /board/logout 모두 요청 받게 된다.

BoardController

boardList

  • /board/list 로 요청이 오면 처리
  • 메서드 boardList 는 model, session 을 매개변수로 실행된다
  • session 의 loginInfo 를 가져와서 형변환을 해서 memberDTO 타입의 변수 info에 넣는다.
  • service 에 boardList 라는 메서드를 실행해서 값을 BoardDTO 를 ArrayList 에 담은 형태의 변수 boardList에 담아준다.
  • model 객체를 이용해서 "boardList"라는 키로 boardList 를 부를 수 있게 한다.
  • model 객체를 이용해서 "msg"라는 키로 "환영합니다, "+info.getId()+" 님! 라는 문자열을 부를 수 있게 한다.
  • boardList.jsp 로 이동한다.

service

MemberService

join

  • join 메서드는 map 타입 매개변수 params 를 받아 실행
  • dao에 일을 시킴 overlay 라는 이름으로, params 에서 id 를 가져와서 -> int 타입 변수 cnt 에 담음
  • msg 기본 값은 "회원가입에 실패하였습니다."
  • 만약 cnt 가 0이면(id 셀렉트 값이 0 이면 같은 id 의 가입자 없음) dao의 join 메서드에 params 넣어서 실행
    • 존재하는 아이디가 없으면 회원 가입 절차 진행
  • 만약 params 의 auth 값이 null 이 아니면 dao의 setPermission 메서드를 매개변수 넣어 실행. id 라는 키에 admin 이라고 값을 넣음
  • msg 에 회원가입 성공
  • cnt 가 0이 아닐 시에는 "이미 사용 중인 아이디"
  • msg 값 리턴

login, memberList, boardList

  • dao 로 넘김

BoardService

boardList

  • dao 로 넘김

dao

MemberDAO

  • mapper 와 연결용 인터페이스

boardDAO

  • mapper 와 연결용 인터페이스

member_mapper

join / setPermission(가입 시 가입자 타입 체크)

  • 요청 id 는 join 이고 parameter 타입은 map 임
  • member 테이블의 블라블라 컬럼에 블라블라 키로 들어온 값들을 insert 함
  • 요청 id 가 setPermission 임
  • author 테이블의 id, perm 컬럼에 param1 과 param 2값을 넣음(입력된 아이디, admin 이라는 글자 들어감)

login

  • login 이라는 요청이 들어오면 select 문 실행, 반환타입은 com.spring.main.dto.MemberDTO
  • member 테이블의 id, author 테이블의 perm, member 테이블의 name 을 가져옴 / member 테이블과 author 테이블을 left join 해서(member 테이블의 id 는 author 의 perm 이 없어도 모두 가져옴) / member 테이블의 id 와 author 테이블의 id 가 같을 때 / member 테이블의 id 는 param1 이고, member 테이블의 pw 는 param2 라면(둘 모두 조건 충족)

board_mapper

  • boardList 라는 요청이 들어오면 select 문 실행, 반환 타입은 com.spring.main.dto.BoardDTO
  • bbs 테이블에서 셀렉트 해옴 / bbs의 idx, bbs의 subject, bbs 의 user_name, bbs 의 bHit, img 라는 이름으로 photo 테이블에서 bbs 의 idx 와 photo 의 idx 가 같은 것의 idx의 개수를 가져옴

profile
JAVA 개발자로 가는 길

0개의 댓글

관련 채용 정보