6/25, 6/26 프로젝트 3차

박세현·2024년 6월 25일
0

3차 프로젝트

목록 보기
13/14

UserType

ㄴ 관리자계정 때문에 이거 넣음
ㄴ 관리자 테이블이 될 수도있고 회원 테이블이 될 수 도 있음
ㄴ 관리 편하게 하기 위해 이넘상수로

상수 추가하기

권한 : 관리자 아니면 회원

ㄴ 따로 값을 입력하지 않으면 일반 회원이도록 하려고 대입
ㄴ 이넘상수는 바로 인식 안되서 마이바티스 설정 좀 다듬어 줘야 함

DB매칭 + 쿼리작성

-> 프로젝트대는 TDD 적용하기

ㄴ 이넘상수는 바로 인식 안되서 마이바티스 설정 좀 다듬어 줘야 함

ㄴ 디비칼럼명이랑 자바변수명규칙이랑 매칭시켜주기

ㄴ 쿼리 작성
<select id="get" resultMap="memberMap">
ㄴ 개별회원조회

ㄴ 타입 = 자바클래스
ㄴ resultMap = 맵?

ㄴ 매퍼인터페이스도 자동 스캔...?

ㄴ 매퍼인터페이스도 자동 스캔 + 객체 생성해줌

밸리데이터

  • 이메일 검증
  • 필수항목 검증

ㄴ 밸리데이터 : 검증할 자료형 다양하니 지네릭클래스

예외만들기(응답코드)

ㄴ 모든 예외의 상위클래스로 할거임

this.status = status;
ㄴ 상태코드 설정
getStatus()
ㄴ 상태코드조회

public CommonException(String message) {
        this(message, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    }

ㄴ 응답코드 없이 보내는 경우 응답코드 500으로 고정

ㄴ 검증실패시 발생할 예외
ㄴ 빨간밑줄 : 향후에 properties로 바굴거...?

ㄴ 관리자 권한없음
ㄴ 응답코드 401로 할거임

ㄴ 자바스크립트 형태로 알림메세지 띄우기
ㄴ 알리고 원래페이지로 가는경우(백)
ㄴ 알리고 다른페이지로 가는경우(이동)
ㄴ 처리는 나중에 익셉션 핸들러 쪽에서 한다고...?

ㄴ 히든아이프레임 : 폼 넘길라고 + 부모창이 이동하기 위해서(원래는 자식창이 이동...?)

ㄴ 자바스크립트 형태로 알림메세지 띄우고 원래페이지로 가는경우(백)
ㄴ 히든아이프레임 : 폼 넘길라고 + 부모창이 이동하기 위해서(원래는 자식창이 이동...?)
-> String target=패런츠 : 부모창이 이동
-> String target=셀프 : 본인창이 이동

public AlertBackException(String message, int Status) {
        this(message, Status, "self");
    }

ㄴ String message, int Status만 들어온 경우 셀프로 고정
ㄴ get으로 조회

ㄴ 자바스크립트 형태로 알림메세지 띄우고 다른페이지로 가는경우(이동)

요청데이터(커맨드객체)

  • 요청데이터 받기

-> 겟파라미터도 가능하지만 그렇게 안할거임
-> 대신 빌더는 사용못함

ㄴ 회원가입 데이터
ㄴ 유저타입은 필요x

ㄴ 값을 전달하는 형태...?
ㄴ 로그인 데이터
ㄴ 양식의 이름과 동일하게되면 데이터 알아서 넘어온다?

ㄴ 양식제출하면 데이터가 알아서 넘어온다

ㄴ 실제로 값이 넘어오는지 확인위해 임시로 템플릿 넣어주고 form 출력

ㄴ 이미 타입핸들러 있어서 이건 제거

ㄴ 타깃추가 : 히든족 아이프레임으로 넘기기

ㄴ 값이 넘어옴
ㄴ 이값을 바탕으로 검증하고 등등하면 된다고...

조인서비스(밸리데이터)

필요한 의존성 : 밸리데이터

ㄴ 자바빈즈의 관리객체이다
ㄴ 중복회원 쳌해야함
ㄴ 의존성이 10개다 직접 다 쓰기 귀찮음
-> 롬복 : 생성자 매개변수를 넣어주는 기능(의존성)
-> 근데 필요한 의존성만 넣어줘야함
-> final = 상수 : 무조건 값을 넣어줘야함 = 생성자매개변수 = 의존성
-> @RequiredArgsConstructor, @NonNull 2가지 방법이 있음(롬복의 기능 중 하나)

ㄴ 생성자 매개변수(의존성)이 추가된 형태

private final JoinValidator validator;
    private final MemberMapper mapper;

ㄴ 생성자 매개변수(의존성)이 추가된 형태

ㄴ 컨트롤러쪽에도 의존성 추가

특이적인 예외넘어가기

ㄴ 스프링에서의 프록시...?

ㄴ 기본적으로 예외가 넘어가는곳

ㄴ 던지면 여기로 넘어감

ㄴ 그냥 예외

ㄴ 우리가 던진 예외

ㄴ 2번재로 에러가 넘어가는 곳...?
ㄴ 공통예외
ㄴ 컨트롤러 쪽에 정의 안되있으면 유입된다?

스크립트

스크립트는 무조건 html내에서만 실행이됨

ㄴ 스크립트를 실행하기 위한 템플릿
<c:if test="${! empty script}"> : 이거가 비어있지 않으면 스크립트 실행

ㄴ 던져진 예외 여기로 모두 유입?

ㄴ 빼먹어서 추가

ㄴ 자바스크립트 알림창 뜨게끔 설정

6/26 9시수업

비번 해시화(비크립트)

로그인

ㄴ target="ifrmProcess" : 페이지 이동 없이 알림창뜨도록?

ㄴ 반드시 스크립트는 html문서 내에서 스크립트 태그안에 정의해야 함

ㄴ RequestLogin : DTO
ㄴ @Component : 서비스라는 큰 기능의 구성요소
-> 사실 @Service로 해도 동작은 동일

ㄴ 이 값이 있으면 그 페이지로 이동

자바스크립트 태그

ㄴ EL속성

관리자

로그아웃

ㄴ 자바스크립트말고 로케이션헤더를 통해 페이지 이동할거
ㄴ 특정문자열 패턴이 포함되어 있으면 이동하게끔 할거

로그인 상태인지 쳌?

ㄴ 메서드명 : 속성명 반환값 : 값
ㄴ org/choongang 전역에 유지되는 값

ㄴ 해당위치로 치환

ㄴ 임시조치(오류더서)

관리자

ㄴ 관리자 계정 생성

ㄴ 관리자로 로그인 하니 생김

ㄴ 이값이 트루이면 관리자 페이지가 보이고
ㄴ 이값이 펄스이면 관리자페이지가 안보임 -> 예외를 던져줄거임

profile
귤귤

0개의 댓글

관련 채용 정보