首页 > 其他分享 >九、springMVC之文件上传

九、springMVC之文件上传

时间:2022-09-29 15:06:21浏览次数:46  
标签:文件 www http 10 springMVC springframework web org 上传

一、配置方式

web.xml:

只配置了DispatcherServlet:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns="http://xmlns.jcp.org/xml/ns/javaee"
4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
5 id="WebApp_ID" version="3.1">
6 <servlet>
7 <servlet-name>springDispatcherServlet</servlet-name>
8 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
9 <!-- 配置DispatcherServletd 一个初始化参数:配置springmvc配置文件的位置和名称 -->
10 <!-- 实际上也可以不通过 contextConfigLocation 来配置Springmvc的配置文件,而是用默认的 即默认的配置文件为
11 /WEB-INF/<servlet-name>-servlet.xml 本项目默认位置配置文件即为: /WEB-INF/springDispatcherServlet-servlet.xml -->
12 <init-param>
13 <param-name>contextConfigLocation</param-name>
14 <param-value>classpath:spring.xml</param-value>
15 </init-param>
16 <!-- 表示springDispatcherServlet在加载的时候被创建 -->
17 <load-on-startup>1</load-on-startup>
18 </servlet>
19
20 <!-- Map all requests to the DispatcherServlet for handling -->
21 <servlet-mapping>
22 <servlet-name>springDispatcherServlet</servlet-name>
23 <url-pattern>/</url-pattern>
24 </servlet-mapping>
25 </web-app>

View Code

 

spring.xml:基础配置+CommonsMultipartResolver配置

基础配置包括:包扫描的配置、视图解析器配置、<mvc:annotation-driven></mvc:annotation-driven>;

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:mvc="http://www.springframework.org/schema/mvc"
5 xmlns:context="http://www.springframework.org/schema/context"
6 xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
7 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
8 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
9
10 <context:component-scan base-package="handler"></context:component-scan>
11 <!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
12 <bean
13 class="org.springframework.web.servlet.view.InternalResourceViewResolver">
14 <property name="prefix" value="/WEB-INF/views/"></property>
15 <property name="suffix" value=".jsp"></property>
16 </bean>
17
18 <mvc:annotation-driven></mvc:annotation-driven>
19
20 <bean id="multipartResolver"
21 class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
22 <property name="defaultEncoding" value="UTF-8"></property>
23 <property name="maxUploadSize" value="1024000"></property>
24 </bean>
25
26 </beans>

 

 

二、实例验证:

1、目录结构

九、springMVC之文件上传_mvc

 

2.加入jar包:

​springMVC基础jar包​​+commons-fileupload+commons-io,即:

  • commons-logging-1.2.jar
  • spring-beans-5.3.10.jar
  • spring-context-5.3.10.jar
  • spring-core-5.3.10.jar
  • spring-expression-5.3.10.jar
  • spring-web-5.3.10.jar
  • spring-webmvc-5.3.10.jar
  • commons-fileupload-1.4.jar
  • commons-io-2.11.0.jar

3.EmployeeController.java

如果文件上传成功,跳转到success.jsp页面;

1 package handler;
2
3 import org.springframework.stereotype.Controller;
4 import org.springframework.web.bind.annotation.RequestMapping;
5 import org.springframework.web.bind.annotation.RequestParam;
6 import org.springframework.web.multipart.MultipartFile;
7
8 @RequestMapping("/emp")
9 @Controller
10 public class EmployeeController {
11
12 @RequestMapping("/testFileUpload")
13 public String testFileUpload(@RequestParam("files") MultipartFile[] files) {
14 for (int i = 0; i < files.length; i++) {
15 System.out.println(files[i].getOriginalFilename());
16 }
17 return "success";
18 }
19

4.index.jsp:

测试多个文件上传;

1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <%@page import="java.util.*"%>
4 <!DOCTYPE html>
5 <html>
6 <head>
7 <meta charset="UTF-8">
8 <title>Insert title here</title>
9 </head>
10 <body>
11 <form action="emp/testFileUpload" method="Post"
12 enctype="multipart/form-data">
13 Files多个文件上传:<input type="file" multiple="multiple" name="files">
14 <input type="submit" value="submit">
15 </form>
16
17 </body>
18 </html>

5.success.jsp

1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html>
4 <html>
5 <head>
6 <meta charset="UTF-8">
7 <title>Insert title here</title>
8 </head>
9 <body>
10 success
11 </body>
12 </html>

View Code

6.运行结果:

选择多个文件上传后,跳转到success.jsp页面且控制台打印选中的多个文件的文件名。

九、springMVC之文件上传_mvc_02

 

我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。 我要做一个自由又自律的人,靠势必实现的决心认真地活着。



标签:文件,www,http,10,springMVC,springframework,web,org,上传
From: https://blog.51cto.com/u_10632206/5722944

相关文章