본격 자기계발 레벨업 프로젝트! 유튜브 메타코딩 영상을 보면서 공부 했던것을 정리하고자 합니다.
IDE : STS4
언어 : Java 8
스프링부트 버전 : 2.7.13
DB : MySQL
빌드관리 도구 : Maven
OS : iOS
참고유튜브 : 메타코딩
로그인, 회원가입등 기능을 작성하기 위해선 MVC패턴에서 Model 을 작성해서 어떠한 것들을 받아서 어떻게 활용할 건지 만들기 위해서
model 패키지를 작성 후 user 클래스를 만들어준다.
user 클래스에는 사용자들별 고유 id, 사용자의 아이디, 비밀번호, 이메일만 작성해서 테스트하기로 한다.
변수를 작성 해준 후 getter / setter 와 toString를 만들어준다.
하지만 생각해볼 때 회원가입을 할 땐 아이디/비밀번호/이메일을 다 사용한다지만, 로그인을 할 때는 아이디/비밀번호만 있어도 된다.
그런데 user 하나로만 관리하기엔 관리하기 신경이 쓰이는게 많다.
그렇기 때문에 DTO(data transfer Object : 데이터 전송 객체)를 만들어서 관리해준다.
dto 패키지 생성 후 JoinDto와 LoginDto 생성
joinDto에는 유저아이디/비밀번호/이메일을 작성 후 getter/setter/toString을 추가해준다.
같은 방법으로 loginDto에는 유저아이디/비밀번호를 작성후 getter/setter/toString을 추가
userController에서 파라메터로 join과 login에 각각 dto를 넣어준다.
dispatcher 로 이동해서 파라메터를 받아서 컨트롤러로 넘길 때 해당 파라메터들을 넘길 때 어떤 타입의 파라메터들이 넘어오는지
해당 파라메터의 이름은 무엇인지 출력해보자.
if (parameters.length !=0) {
System.out.println("parameters[0] : "+parameters[0]);
System.out.println("parameters[0].getName() : "+parameters[0].getName());
System.out.println("parameters[0].getType() : "+parameters[0].getType());
Object dtoInstance = parameters[0].getType().newInstance();
path = "/";
} else {
path = (String)method.invoke(userController);
}
서버를 실행해서 확인해보면 결과를 알아볼 수 있다.
그럼 파라메터들을 받아서 객체를 생성 후에 값들을 잘 넘겨 줄 수 있는지 확인해보기 위해서
request에서 오는 파라메터들을 출력해보자
String username =req.getParameter("username");
String password =req.getParameter("password");
System.out.println("username : "+username);
System.out.println("password : "+password);
포스트맨에서 키값에 해당 파라메터들 로 넣고 값을 넘겨주면
해당 값들이 잘 넘어오는 것을 확인 할 수 있다.
이제 해당 넘겨받은 파라메터들을 컨트롤러쪽으로 넘겨서 해당 함수들을 사용할 수 있게 작성해주면 될 것이다.
'프로젝트 > 자바 리플렉션' 카테고리의 다른 글
[자바 리플렉션] 2. dispatcher 필터로 주소 매핑하기 (0) | 2023.08.11 |
---|---|
[자바 리플렉션] 1. 리플렉션을 왜 사용해야할까? (0) | 2023.08.11 |
[자바 리플렉션] 0. 환경설정(+ dynamic web project가 안보일때 해결법) (0) | 2023.08.10 |
댓글