**데이터 삽입
=> 삽입 요청 -> 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를 리턴
'수업 정리' 카테고리의 다른 글
59일차 수업 정리(Spring) (0) | 2020.06.30 |
---|---|
58일차 수업정리(로그인 처리, Script 언어, 요청처리 디버깅) (0) | 2020.06.29 |
수업 외 정리 (0) | 2020.06.24 |
55~58일차(회원가입과 로그인) (0) | 2020.06.24 |
53일차 수업정리(DB 연동 + 54일차 + 55일차) (0) | 2020.06.22 |