application/x-www-form-urlencoded
key-value 문자데이터와 바이너리 형태인 파일 데이터가 같이 전송될 때,
body의 어떤 부분에서 파일이 전송되어야 한다고 알려줘야하는데 기존의 방식으로는 불가능따라서, 전송되는 각 form data를 구분 필요 -> 한 단위 : part
동시에 여러 단위의 part를 나눌 수 있기 떄문에
multipart라고 함
Content-Type을 multipart/form-data로 하기 위해선 <form>태그에enctype을 지정

HttpServletRequest는 웹 클라이언트가 전달하는
Multipart데이터를 처리하는 메서드를 지원하지 않는다.
HttpServletRequest는 http 프로토콜의 body부분을 읽는 input 스트림만 지원, 사용자는 이 input 스트림을 이용해 multipart를 나누어서 구현해야 하는데 보통 commons-fileupload 라이브러리를 사용한다.
<!-- 파일 업로드 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>