• Home
  • About
    • Junseok photo

      Junseok

      개발자 블로그

    • Learn More
    • Facebook
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
  • Java
    • java-basic
    • java-solid
    • java-pattern
    • java-logging
  • Javascript
  • Angular
  • spring
    • spring-framework
    • spring-boot
    • spring-test
  • server
    • jeus
    • webtob
    • tomcat
  • test
    • junit
    • assertj
    • hamcrest
    • dbunit
    • spring
  • docker
  • unix
  • maven
  • db
  • network
  • eclipse
  • intellij
  • microservices
  • etc

Multipart Resolver

25 Dec 2017

Reading time ~1 minute

Multipart Resolver

org.springframework.web.multipart 패키지의 MultipartResolver 는
파일 업로드를 포함하여 다중 요청을 구문 분석하기위한 전략입니다.
Commons FileUpload를 기반으로하는 구현과
Servlet 3.0 다중 요청 구문 분석을 기반으로하는 구현이 있습니다.

멀티 파트 처리를 가능하게하려면,
multipartResolver라는 이름으로 DispatcherServlet Spring 설정에서
MultipartResolver 빈을 선언해야 한다.
DispatcherServlet은 이를 감지하여 들어오는 요청에 적용합니다.
content-type이 multipart/form-data 인 POST가 수신되면
resolver가 콘텐츠를 구문 분석하고 현재 HttpServletRequest를 MultipartHttpServletRequest로 래핑하여
요청 된 매개 변수로 노출되는 것 외에도 해결된(resolved) 부분에 대한 액세스(access)를 제공합니다.

Apache Commons FileUpload

Apache Commons FileUpload를 사용하려면
CommonsMultipartResolver 유형의 bean을 multipartResolver 이름으로 구성 할 수 있습니다.
또한 classpath에 대한 종속성으로 commons-fileupload가 있어야합니다.

Servlet 3.0

Servlet 3.0 다중분할 구문분석(multipart parsing)은 Servlet 컨테이너 구성을 통해 활성화해야합니다.

  • Java에서는 서블릿 등록시 MultipartConfigElement를 설정하십시오.
  • web.xml에서 <multipart-config>섹션을 서블릿 선언에 추가하십시오.

다음 예제는 Servlet 등록에 MultipartConfigElement를 설정하는 방법을 보여줍니다.

public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    // ...

    @Override
    protected void customizeRegistration(ServletRegistration.Dynamic registration) {

        // 선택적으로 maxFileSize, maxRequestSize, fileSizeThreshold도 설정하십시오.
        registration.setMultipartConfig(new MultipartConfigElement("/tmp"));
    }

}

Servlet 3.0 구성이 완료되면 multipartResolver라는 이름의
StandardServletMultipartResolver type의 bean을 추가 할 수 있습니다.



springframeworkMultipartResolver Share Tweet +1