07.파일업로드(정리).docx
0.89MB
08.유효성검사(정리).docx
0.02MB

 

<<파일 업로드>>

1. 파일 업로드란?

- 웹 브라우저(크롬)에서 서버(톰캣포함)로 파일을 전송하여 서버에 저장하는 것

- 웹 브라우저에서 서버로 파일을 전송하기 위해 JSP 페이지에 폼 태그를 사용

- 전송된 파일을 서버에 저장하기 위해 오픈 라이브러리(common-fileupload, cos.jar)를 이용함

 

2. cos.jar

- cos.jar 의 핵심 클래스는 MultipartRequest 이다

- MultipartRequest 클래스를 통해 객체를 생성하고 해당 객체의 메서드들을 활용하여 웹 브라우저(크롬)가 전송한 multipart/form-data 유형의 요청 파라미터를 읽어오고 파일을 업로드함

 

3. Commons-FileUpload

- 먼저 Commons-FileUpload 패키지에 포함되어 있는 DiskFileUpload 클래스를 통해 객체를 생성

- 생성된 객체의 메서드들을 사용하여 웹 브라우저가 전송한 multipart/form-data 유형의 요청 파라미터를 가져옴

- FileItem 클래스의 메서드를 사용하여 요청 파

라미터가 일반 데이터인지 파일인지 분석 및 처리하여 파일을 업로드함

 

<< 유효성 검사>>

1. 유효성 검사란

- 폼 페이지에서 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 입력되어 있는 지 검증하는 것

- 예) 나이 입력 시 숫자 체킹, 회원 가입 시 아이디 중복 체크, 로그인 인증 시 아이디와 비밀번호를 체킹

 

2. 핸들러함수란?

- 폼 페이지에서 이벤트 발생 시 유효성 검사를 위해 매핑하는 메서드로,

Javascript/JQuery를 이용하여 유효성 검사를 하는 코드의 집합

- 서버에 과부하를 주지 않음

 

3. 유효성 검사의 종류

- 기본 유효성 검사 : 값의 존재 유무

- 데이터 셩식 유효성 검사 : 패턴에 적합한지 여부(정규 표현식 사용)

 

4. 기타

- isNaN() : is Not a Number => 숫자 false, 숫자가 아니면 true

 

5. 정규 표현식(암기법 : 정규 표현식 썼어? 이긍..)

- 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어

- 문자열의 특정 형태를 찾아내기 위해 일정한 형식의 패턴으로 표현

- 예) 주민등록번호, 전화번호, 이메일

- var 변수명 = /정규표현식/[Flag];

- var 변수명 = new RegExp('정규 표현식',[Flag']);

- Flag란?

* i : Ignore Case(문자열의 대문자와 소문자를 구별하지 않고 검출)

* g : Global(문자열 내의 모든 패턴을 검출)

* m : Multi Line(문자열에 줄 바꿈 행이 있는지 검출)

- [Flag]는 생략 가능. 만약 생략했다면... 한 번만 검출

- 정규 표현식 메서드

* test() : 문자열이 정규 표현식에 부합한지 판단(true/false 반환)

* exec() : 문자열에서 정규 표현식에 부합된 문자열을 추출하여 반환

- 정규 표현식에서 사용하는 기호(메타 문자) - 특정한 의미를 가진 문자

* ^x : 문자열이 x로 시작

* x$ : 문자열이 x로 종료

* .x : (임의의 한 문자) 문자열이 x로 끝남

* x+ : x가 한 번 이상 반복

* x? : x가 없다

* x* : x가 0번 이상 반복

* x|y : (or)x또는 y를 찾음

* (x) : (안의) 내용을 그룹화

* (x)(y) : 그룹화. 자동 그룹번호 부여 -> 배열

* x{n} : x를 n번 반복한 문자를 찾음

* x{n.} : x를 n번 이상 반복한 문자를 찾음

* x{n,m} : x를 n번 이상 m번 이하 반복한 문자를 찾음

* [xy] : x 또는 y를 찾음

* [^xy] : x,y를 제외하고 문자 하나를 찾음

* [x-z] : x부터 z사이의 문자 중 하나를 찾음

'개발자 > JspSpring' 카테고리의 다른 글

20220117 시큐리티  (0) 2022.01.17
20220114 유효성 검사  (0) 2022.01.14
20220110 상품등록페이지 만들기  (0) 2022.01.10
20220107 구구단 출력  (0) 2022.01.07
20220106 액션태그  (0) 2022.01.06

+ Recent posts