본문 바로가기
네이버클라우드/JAVA 웹 프로그래밍

JAVA 60일차 (2023-08-16) 자바 프로그래밍_58. 파일 업로드 다루기 II - multipart/form-data POST 요청 파라미터 인코딩_개인프로젝트 - 마트 관리 시스템

by prometedor 2023. 8. 16.
## 58. 파일 업로드 다루기 II - multipart/form-data POST 요청 파라미터 인코딩

- Servlet API를 이용하여 multipart/form-data 파라미터를 다루는 방법

 

build.gradle

ㄴ multipart/form-data 처리 라이브러리를 주석으로 설정

=> Servlet API 로 대체할 것

 

ㄴ gradle 재설정 해주기

=>

ㄴ Refresh 해주기

=>

ㄴ multipart/form-data 처리 라이브러리 제거됨을 확인

 

BoardAddServlet.java

ㄴ @MultipartConfig 애노테이션 이용

ㄴ maxFileSize 이용

=>

BoardAddServlet.java

ㄴ 1024 * 1024 * 10  => 파일의 크기 최대 10 메가까지 저장 가능

=>

BoardAddServlet.java

ㄴ 해당 코드 삭제

=>

BoardAddServlet.java

=>

BoardAddServlet.java

ㄴ 필요 없는 변수 제거해주기

=>

BoardAddServlet.java

ㄴ 해당 코드 제거

=>

BoardAddServlet.java

ㄴ 각각의 파트에서 값을 꺼내도록 함

=>

BoardAddServlet.java

=>

BoardAddServlet.java

=>

ㄴ java.util.Collection 을 import 하도록 함

=>

BoardAddServlet.java

ㄴ Part 이용하기

=>

BoardAddServlet.java

ㄴ part 에서 가져온 이름이 "files" 와 같을 경우

=>

BoardAddServlet.java

ㄴ 해당 코드 제거

=>

BoardAddServlet.java

ㄴ AttachedFile 타입의 데이터를 저장하기위해 ArrayList 이용

=>

BoardAddServlet.java

ㄴ new File 해서 File 객체를 생성할 필요가 없으므로 제거

=>

BoardAddServlet.java

=>

BoardAddServlet.java

ㄴ 필요 없는 변수 제거 해주도록 함

=>

BoardAddServlet.java

ㄴ 넘어오는 값이 "files" 와 같으며 값이 존재하는지 여부 확인하도록 함

=>

BoardAddServlet.java

ㄴ part.getName() 출력 해보기 위한 코드 추가

=>

ㄴ 서버 Start 해주기

=>

=>

ㄴ [등록] 선택

=>

=>

ㄴ 각 파일 링크 선택 시 위 그림 노출됨

=>

ㄴ part.getName() 출력됨을 확인

 

 

BoardUpdateServlet.java

=>

BoardUpdateServlet.java

ㄴ 해당 코드 제거

=>

BoardUpdateServlet.java

ㄴ BoardAddServlet 과 동일하게 작성

ㄴ Board 객체 생성과 작성자 설정을 위로 올려줌

ㄴ 이어서 title, content, category 설정을 해주도록 함

=>

BoardUpdateServlet.java

ㄴ 번호 설정을 추가하도록 함

=>

BoardUpdateServlet.java

ㄴ fileItem -> Part 로 변경

    => Part 를 이용하도록 함

=>

BoardUpdateServlet.java

ㄴ 해당 코드 제거

=>

BoardUpdateServlet.java

ㄴ 해당 조건 추가해주기

=>

BoardUpdateServlet.java

=>

BoardAddServlet.java

ㄴ 해당 코드는 테스트 끝났으므로 주석 처리 해주기

=>

ㄴ 서버 Restart 해주기

=>

=>

=>

ㄴ 정상적으로 수정됨을 확인

 

BoardAddServlet.java

ㄴ 파일이 첨부되지 않은 경우에는 이 부분이 실행되지 않도록 함

 

BoardUpdateServlet.java

ㄴ 파일이 첨부되지 않은 경우에는 이 부분이 실행되지 않도록 함