본문 바로가기

수업 정리

57일차 수업정리(회원 가입 관련 Tip)

**데이터 삽입 

    => 삽입 요청 -> Controller -> ServiceImpl -> DAO -> Repository -> DAO -> Service -> Controller -> View

    => 웹에서는 ajax로 요청

 

**파일 업로드

    => 요청을 처리하는 Servlet 클래스 상단에 아래 어노테이션을 추가

        - @MultipartConfig(location="파일을 업로드 할 디렉토리 경로를 절대경로로 작성")

    => 요청을 처리하는 서비스 클래스에 작성

        - 파라미터를 읽을 때 getParameter 대신에 getPart("파라미터명")을 이용하여 Part객체를 생성

        - Part 객체의 getHeader("content-dispotision"을 호출해서 업로드된 파일명을 찾아야 함

        - 메소드 호출시 form-data;파라미터명;파일명의 형태

        - File 객체를 만들고 Part 객체의 write메소드를 이요하여 업로드를 수행

        - 파일을 하나의 디렉토리에 전부 업로드하려면 파일명을 유일무리하게 만들어야 함

            -> UUID 클래스의 randomUUID메소드를 호출하여 랜덤한 파일명을 만듬

 

**회원가입 요청 디버깅

1. 자바 스크립트 코드에 에러가 있는지 확인

 

2. UserController 클래스에서 요청을 제대로 해결했는지 확인

 

**데이터 암호화

    => 최근에는 개인 정보를 함부로 노출하면 안됨

        - 데이터를 저장할 때 바로 알아볼수 없도록 저장하는 것을 권장

        - 암호화 후, 복호화가 가능하도록 저장하거나, 암호화 후, 복호화는 안되고, 비교만 가능하게 하는 방법도 있음

        - 비밀번호는 뒤의 방법을 선택하고 일반 데이터는 앞의 방법을 선택

    => jBCrypt : 복호화가 불가능하도록 해주는 라이브러리

        - Bcrypt.hashpw(문자열, BCrypt.gensalt()) : 메소드를 호출하면 암호화된 문자열을 리턴

        - BCrypt.checkpw(원본 문자열, 암호화된 문자열) : 2개가 일치하면 true, 일치하지 않으면 false를 리턴