Spring MVC의 Multipart/form-data 처리 방법 소개(코드 예제)
이 글은 Spring MVC의 Multipart/form-data 처리 방법(코드 예제)을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
Multipart/form-data
Multipart/form-data는 양식의 MIME 인코딩 속성 중 하나입니다. 총 3가지 값이 있습니다
① application/x-www-form-urlencoded
② multipart/form-data
3 text/plain
1은 HTML 양식의 기본 전송 인코딩 유형입니다.
2는 양식에서 업로드한 텍스트가 아닌 콘텐츠로 파일 데이터를 전송하는 속성을 설정하고 게시물에 협력합니다. 파일 업로드를 위한 요청 방법
③은 일반 텍스트를 의미합니다. 이메일을 보낼 때 이 인코딩을 설정해야 합니다. text/plain과 text/html을 비교하면 전자는 일반 텍스트 파일을 전송하는 데 사용되고 후자는 인코딩됩니다. html 코드 전송을 위한 유형입니다. 그래야만 위에서 언급한 MIME을 사용할 수 있습니다. 전체 영어 이름은 "Multi Purpose Internet Mail Extensions"입니다. MIME을 통해 브라우저의 재요청은 어떤 유형의 데이터가 수신되는지 서버에 알려줍니다.
Spring MVC는 Multipart/form-data를 처리합니다두 가지 구현 방법:
1. Apache에 따라 다름
2 . StandardServletMultipartResolver: Servlet 3.0에 따라 SpringBoot는 기본적으로 이 방법을 지원합니다
1. 구성 확인자
1. CommonsMultipartResolver 구성
단점: 전체 요청의 최대 용량을 설정할 수 없습니다
(1) Bean을 선언하고 구성합니다. 업로드 매개변수:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="uploadTempDir" value="/temp"/> <!--设置上传目录/temp --> <property name="maxUploadSize" value="2097152"/> <!--最大文件容量设置为2M--> <property name="maxInMemorySize" value="0"/> · <!--最大的内存大小设置为0,超过0就写入磁盘--> </bean>
2. StandardServletMultipartResolver 구성
(1) Bean 선언:
<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver”>
@Bean(name = "multipartResolver") public StandardServletMultipartResolver getStandardServletMultipartResolver(){ return new StandardServletMultipartResolver(); }
(2) 업로드 매개변수 구성
web.xml 구성
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <multipart-config> <!--上传到/temp 目录--> <location>/temp/upload</location> <!--文件大小为2M--> <max-file-size>2097152</max-file-size> <!--整个请求不超过4M--> <max-request-size>4194304</max-request-size> <!--大于0M的所有文件都要写入磁盘--> <file-size-threshold>0</file-size-threshold> </multipart-config> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
구성 클래스의 구성
<form action="/save" method="post" enctype="multipart/form-data"> <input type="file" name="pic"> <input type="submit"> </form>
1. 양식:
<form action="/save" method="post" enctype="multipart/form-data"> <input type="file" name="pic"> <input type="submit"> </form>
2 MVC 수신:
@RequestMapping(value = "/save",method = RequestMethod.POST) public String getHome(MultipartFile pic) throws IOException { Files.copy(pic.getInputStream(), Paths.get(ServletContext.getRealPath("/temp"),pic.getOriginalFilename)); return null; }
위 내용은 Spring MVC의 Multipart/form-data 처리 방법 소개(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











SpringMVC의 주요 기능 이해: 이러한 중요한 개념을 익히려면 특정 코드 예제가 필요합니다. SpringMVC는 개발자가 MVC(Model-View-Controller) 아키텍처 패턴을 통해 유연하고 확장 가능한 구조를 구축하는 데 도움이 되는 Java 기반 웹 애플리케이션 개발 프레임워크입니다. 웹 애플리케이션. SpringMVC의 주요 기능을 이해하고 익히면 웹 애플리케이션을 보다 효율적으로 개발하고 관리할 수 있습니다. 이 기사에서는 SpringMVC의 몇 가지 중요한 개념을 소개합니다.

Java 백엔드 개발은 현대 인터넷 애플리케이션의 핵심이 되는 매우 중요한 기술입니다. Java 백엔드 개발에는 주로 APIMVC 프레임워크 개발이 포함됩니다. 이번 글에서는 APIMVC 프레임워크 개발을 위해 JavaSpringMVC를 사용하는 방법을 소개하겠습니다. JavaSpringMVC는 주로 웹 애플리케이션 개발에 사용되는 매우 강력한 오픈 소스 프레임워크입니다. MVC(Model-View-Controller) 아키텍처 모델을 사용합니다.

소개 RESTful API는 현대 웹 애플리케이션의 필수적인 부분이 되었습니다. 이는 웹 서비스 생성 및 사용에 대한 표준화된 접근 방식을 제공하여 이식성, 확장성 및 사용 용이성을 향상시킵니다. Java 생태계에서 JAX-RS와 springmvc는 RESTful API 구축을 위한 가장 널리 사용되는 두 가지 프레임워크입니다. 이 기사에서는 두 프레임워크를 자세히 살펴보고 해당 기능, 장점 및 단점을 비교하여 정보에 입각한 결정을 내리는 데 도움을 줄 것입니다. JAX-RS: JAX-RSAPI JAX-RS(RESTful 웹 서비스용 JavaAPI)는 REST 개발을 위해 JavaEE에서 개발한 표준 JAX-RSAPI입니다.

Spring MVC 아키텍처에서 Controller 패키지는 사용자 요청을 처리하고 응답을 반환하여 비즈니스 로직을 구현합니다. 해당 책임에는 사용자 요청 수신(일반적으로 HTTP를 통해)이 포함됩니다. 요청 매개변수를 검증하고 처리합니다. 적절한 비즈니스 로직(일반적으로 서비스 계층)을 호출합니다. 뷰를 렌더링하고 사용자에게 반환합니다(일반적으로 HTML, JSON 또는 XML).

백엔드 관리 시스템에서는 일반적으로 다양한 사용자의 인터페이스 액세스 기능을 제한하기 위해 액세스 권한 제어가 필요합니다. 사용자에게 특정 권한이 없으면 특정 인터페이스에 액세스할 수 없습니다. 이 기사에서는 waynboot-mall 프로젝트를 예로 들어 일반적인 백엔드 관리 시스템이 권한 제어 프레임워크 SpringSecurity를 도입하는 방법을 소개합니다. 개요는 다음과 같습니다. waynboot-mall 프로젝트 주소: https://github.com/wayn111/waynboot-mall 1. SpringSecurity란? SpringSecurity는 강력하고 유연한 보안을 목표로 하는 Spring 프레임워크 기반의 오픈 소스 프로젝트입니다. Java 애플리케이션용.

SpringWebFlux와 SpringMVC의 주요 차이점은 반응형 프로그래밍(비동기 처리)과 차단 I/O 모델입니다. 이러한 차이로 인해 비동기 처리 및 이벤트 루프 모델, 비동기 응답 스트림(게시자 개체), 더 높은 처리량 및 확장성 등의 주요 아키텍처 차이가 발생합니다.

Go와 Java의 주요 차이점은 유형 시스템, 동시성 및 메모리 관리입니다. Go는 컴파일 타임에 유형을 강제로 선언하는 정적 유형 시스템을 사용하는 반면, Java는 런타임에 유형을 유추할 수 있는 반정적 유형 시스템을 사용합니다. Go의 Goroutine은 높은 동시성을 지원하는 반면 Java는 Java 스레드와 잠금 메커니즘을 사용합니다. Go는 가비지 수집기를 사용하여 메모리를 자동으로 관리하는 반면 Java는 특정 리소스에 대한 명시적인 관리를 요구합니다. 이러한 차이로 인해 다양한 애플리케이션 시나리오가 발생합니다. Go는 동시성이 높은 웹 서비스, 클라우드 컴퓨팅 및 빅데이터에 적합한 반면, Java는 복잡성과 안정성이 필요한 엔터프라이즈급 애플리케이션에 적합합니다.

Java 아키텍처는 엔터프라이즈 애플리케이션 개발에 널리 사용되는 프로그래밍 언어입니다. 기술이 지속적으로 발전하고 개발 요구 사항이 변화함에 따라 Java 아키텍처도 여러 가지 진화와 개발을 거쳤습니다. 이 기사에서는 J2EE에서 SpringBoot까지 Java 아키텍처의 진화와 개발을 살펴봅니다. J2EE 시대 J2EE(Java2Platform, Enterprise Edition)는 1999년에 출시된 Java 아키텍처의 중요한 이정표입니다. 일련의 표준을 제공합니다.
