1.基于SpringMVC的文件上传
1)创建项目
创建新项目:Packaging:war
然后,按照传统方式完成项目的创建(添加web.xml;添加Tomcat Runtime,复制pom.xml中的依赖,复制web.xml中的配置,复制spring的配置文件。注意:检查spring的配置文件是否存在多余且不可用的配置,如果有,则删除)。
2)制作上传页面
上传文件的页面只要求是html页面即可,不需要是jsp页面(可以使用jsp页面)。
上传使用的控件是:
<input type="file" />
并且,上传时的表单必须配置`enctype`属性,并且请求类型必须是`post`类型:
<form method="post" enctype="multipart/form-data">
整体设计可以是:
<h1>基于SpringMVC的文件上传</h1>
<form enctype="multipart/form-data">
<p>请选择您要上传的文件</p>
<p><input type="file" /></p>
<p><input type="submit" value="上传" />
</form>
3)添加依赖
基于SpringMVC的文件上传需要添加`spring-webmvc`依赖,并添加`commons-fileupload`依赖。
4)配置MultipartResolver
在spring的配置文件中添加:
<!-- 文件上传:MultipartResolver -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>
注意:此项配置中,`<bean>`的`id`必须是`multipartResolver`!该`<bean>`也可以添加更多的配置,但是,不是必须的!此次项目中,需要开启注解驱动:
<mvc:annotation-driven />
5)开发控制器接收上传请求
创建控制器类`cn.tedu.spring.FileUploadController`,并添加处理请求的方法:
@Controller
public class FileUploadController {
@RequestMapping("/upload.do")
public String handleUpload(
@RequestParam("file") MultipartFile file) {
return null;
}
}
注意:客户端提交的上传的文件需要声明为`MultipartFile`类型(这是一个接口,实际类型是`CommonsMultipartFile`