| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 상속
- 다형성
- 배열
- Break
- 삼항 연산식
- scanner
- 이클립스
- 중첩for문
- super()
- Integer.MIN_VALUE
- 오버로딩
- 자바
- jsp
- arraylist
- 2차원 배열
- 인터페이스
- Else If
- 이중 배열
- javascript
- 상수
- Integer.MAX_VALUE
- docker
- 문자열
- interface
- rs.next()
- 메소드
- If
- for문
- 삼항 연산
- extends
- Today
- Total
개발로드
☆KDT 2024-03-21★File업로드 연습 본문



이 코드는 Java 웹 어플리케이션에서 파일 업로드를 다루는 데 사용되는 @MultipartConfig 어노테이션을 설정하는 것입니다. 이 어노테이션은 javax.servlet.annotation 패키지에 속해 있습니다.
여기서 각각의 속성들은 다음과 같습니다:
fileSizeThreshold: 파일이 디스크로 저장되기 전에 메모리에 유지되는 임계치를 나타냅니다. 이 값은 바이트 단위로 설정됩니다. 파일이 이 임계치보다 크면 디스크로 저장됩니다. 여기서는 1MB로 설정되어 있으므로, 1MB보다 큰 파일은 디스크로 저장됩니다.
maxFileSize: 업로드할 수 있는 개별 파일의 최대 크기를 나타냅니다. 이 값은 바이트 단위로 설정됩니다. 여기서는 5MB로 설정되어 있으므로, 개별 파일의 크기가 5MB를 초과하면 업로드가 실패합니다.
maxRequestSize: 요청의 최대 크기를 나타냅니다. 이 값은 요청 전체의 크기로, 모든 파일 및 기타 데이터를 포함합니다. 바이트 단위로 설정됩니다. 여기서도 5MB로 설정되어 있으므로, 요청 전체 크기가 5MB를 초과하면 업로드가 실패합니다.
따라서 이 어노테이션은 파일 업로드에 대한 제약 조건을 설정하여 웹 어플리케이션에서 발생할 수 있는 잠재적인 문제를 방지합니다.

이 코드는 웹 애플리케이션 컨텍스트 내에서 "upload"라는 디렉터리에 대한 실제 경로를 검색합니다. 각 부분에 대한 분석은 다음과 같습니다.
request: 서버에 대한 클라이언트의 요청을 나타내는 HttpServletRequest의 인스턴스입니다. 여기에는 매개변수, 헤더, 기타 데이터 등 요청에 대한 정보가 포함됩니다.
request.getServletContext(): 현재 웹 애플리케이션과 연관된 ServletContext를 검색합니다. 'ServletContext'는 리소스, 매개변수 및 기타 컨텍스트 관련 정보에 액세스하는 방법을 포함하여 서블릿이 웹 컨테이너와 상호 작용하는 방법을 제공합니다.
getRealPath("/upload/"): ServletContext에서 호출되는 이 메소드는 웹 애플리케이션 내에서 지정된 가상 경로에 해당하는 실제 파일 시스템 경로를 반환합니다. 이 경우 웹 애플리케이션 컨텍스트 내의 "업로드" 디렉터리에 대한 실제 경로를 반환합니다. "/upload/" 인수는 디렉토리에 대한 가상 경로를 지정합니다. 이 경로는 웹 애플리케이션의 루트에 상대적입니다.
String realPath = ...: getRealPath() 메소드에서 얻은 실제 경로를 realPath 변수에 할당합니다. 이제 realPath 변수에는 "업로드" 디렉터리에 대한 실제 파일 시스템 경로가 포함됩니다.
요약하자면, 이 코드는 일반적으로 웹 애플리케이션 컨텍스트 내의 디렉토리에 대한 실제 파일 시스템 경로를 얻기 위해 서블릿 또는 JSP 파일에서 사용됩니다. 그런 다음 이 경로를 사용하여 업로드된 파일을 지정된 디렉터리 내의 디스크에 저장하는 등의 작업을 수행할 수 있습니다.

콘솔에 찍히는 경로
'JAVA' 카테고리의 다른 글
| ☆KDT 2024-03-21★SpringBoot-Maven-Mapper,@Service,@Repository (0) | 2024.03.27 |
|---|---|
| ★KDT 2024-03-26☆SpringBoot-Maven-기본셋팅,파일생성 (0) | 2024.03.26 |
| ★KDT 2024-03-22☆StringBuffer (0) | 2024.03.22 |
| ☆KDT 2024-03-21★JavaScript를 JSON으로 변환하는 방법 (0) | 2024.03.21 |
| ★KDT 2024-03-08JSP☆ Cookie&Session (0) | 2024.03.14 |