对于文件上传,浏览器在上传的过程当中是将文件以流的形式提交到服务器端的,若是直接使用Servlet获取上传文件的输入流而后再解析里面的请求参数是比较麻烦,因此通常选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包能够去apache官网上面下载,也能够在struts的lib文件夹下面找到,struts上传的功能就是基于这个实现的。common-fileupload是依赖于common-io这个包的,因此还须要下载这个包。git
今天以一个例子为介绍.github
本次pom文件依赖了上午写的log4j jar包,因此这里依赖了log4j1的pom文件,可是只是提供了日志输出,能够直接去掉关于日志的文件就能够了.apache
<parent>浏览器
<groupId>log4jtest</groupId>服务器
<artifactId>log4j1</artifactId>app
<version>0.0.1-SNAPSHOT</version>maven
</parent>工具
<groupId>fileupload</groupId>url
<artifactId>fileuploadtest</artifactId>spa
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>fileuploadtest Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
https://github.com/Steven-hsm/FileUpLoad