對於文件上傳,瀏覽器在上傳的過程當中是將文件以流的形式提交到服務器端的,若是直接使用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