-
회원가입 -> 로그인 -> 조회 (~ crud 진행중)Back end/Spring MVC 2023. 12. 6. 18:37
crud 흐름을 정리 해보겠다. 그냥 학습하고 내 생각을 정리해서 적음
1. Project 셋팅
InteliJ , Mysql, mybatis, tomcat, jdk 18 사용 했음.
2. 회원가입 (controller -> (DTO) -> Service -> Repository 연결 )- JSP -> Action,Method 값 설정 -> Controller에 보냄 -> url연결 :GetMapping,
- 정보 전송(method:post): PostMapping 으로 전달
-> memberDTO 에 데이터(HTML의 name) 값들을 생성자(getter,setter) 및 tostring 값으로 설정
-> Controller의 POST 쪽에 데이터를 받아올@modelAttribute(MemberDTO , 매개변수) 값을 넣어줌
-> Controller에서 Service 값을 받아오기위해 class아래에 의존성 주입 코드 입력 -> Service 쪽에도 Repository 연결을 위해 의존성 주입
-> Post 쪽에 int saveResult = memberService.save(memberDTO); 이런 식으로 Service.save 안에 Dto를 넣어줌
-> Service쪽에 save를 오버라이딩 으로 연결 -> Repository에도 service에 있는 .Save값을 연결 한다.memberDTO 객체 생성 * 주의!
name 값은 위의 DTO 값들과 이름이 똑같아야함 Controller에서 PostMapping // MemberDTO 객체를 사용하기위해 @modelAttribute로 넘겨줌. service: 1. 의존성 주입을 위한 어노테이션 / 2. Repository에 의존성 주입(final을 꼭 써줘야함) / 3. 생성자를 Repositroy에 전달 repository : 1. sql에 의존성 주입 / 2. sql.insert 기능을 통해 데이터 입력기능 사용 - 근데 DTO 경로를 풀네임으로 적어도 되지만 mybatis-config.xml 에서 지원해주는 별칭(alias)을 사용하여 경로를 별칭으로 지정해줌. 즉 parameterType에 member를 입력함
MemberDTO의 경로를 alias에 member라는 별칭으로 관리를 해줌
마지막으로 localhost 입력 폼에 들어가 데이터를 입력하고 데이터가 잘 들어가는지 확인한다.3. DB 연결 (mysql) 및 DB insert
- DB연결
- mysql에 아이디 생성 및 비밀번호 생성 완료
- DB명,아이디,비밀번호를 root-context.xml에 설정
형식에 맞게 적어주기 mybatisconfig.xml에 memberDTO객체의 별칭(alias)를 붙여줌 4. 회원가입(insert) 후 로그인
=> login 폼 작성
=> memberController url 작성 후 DTO 및 HttpSession 기능을 활용
=> 로그인 성공하면 main 페이지로 실패하면 login 페이지 이동
=> 그대로 service에서 MemberDTO 객체를 이용하여 로그인 성공/실패 여부 작성
=> repository와 sqlmapper를 통해 DB를 가져온다.
=> memberEmail 그리고 memberPassword가 있으면 가져옴
=> select문은 항상 resultType이 존재
main보면 session기능을 통해 가져온 loginEmail 값을 가져옴 5. 회원 목록 출력하기
=> 조회기능은 "/" 으로 가져옴.
=> 데이터를 가져오기 때문에 modelAttribute 가 아닌 Model 객체를 사용 한다.
tip!
@ModelAttribute는 메서드나 메서드 매개변수에 사용되어 모델에 속성을 추가하고,
< - >
model은 메서드 매개변수로 사용되어 뷰로 데이터를 전달하는 데에 활용됩니다.=> service 로 전달
=> repositroy 전달 : 전체 데이터를 끌어오기 때문에 매개변수는 설정 안해도됨.
=> mapper에 전체 조회값 작성
jstl foreach문을 이용하여 회원 목록 출력 5. 회원 정보 조회
- 회원정보 조회는 @GetMapping으로 가져온다.
- @RequestParam을 통해 id값을 가져오고 Model을 이용하여 데이터를 view에 전달
tip! : RequestParam을 쓰는 이유는 http://example.com/someEndpoint?id=123 처럼 id값 뒤에 조회하고 싶은 id값을 가져오기 위해
=> 객체 MemberDTO를 이용하여 service에 id값을 전달 해줌
=> 전달해준 값을 member로 받고 detail.jsp 에 return 해준다.
6. 회원 리스트 삭제
=> script를 이용하여 id값을 넘겨줌
=> ReqeustParam을 이용하여 id값을 service로 넘겨줌
=> reopository
=> sql mapper로 넘겨줌
7. 회원 정보 수정하기
update 경로 => 수정은 우선 데이터 값을 가져온뒤 수정 처리 값을 준다.
service repository sqlmapper 7 Ajax 사용
코딩 레시피 참고!
https://www.youtube.com/watch?v=tWgBlpgk0ls&list=PLV9zd3otBRt7HQxBTdpJ_85UEvKJl2mJ0
'Back end > Spring MVC' 카테고리의 다른 글
HttpSession 이란? (0) 2023.11.30 스프링 프레임워크를 이해하기 위한 요소들 (0) 2023.11.24 web.xml (0) 2023.11.12 서블릿 객체 생명 주기? (0) 2023.11.12 톰캣? (0) 2023.11.12