前言
文件上传下载在类似注册表单中经常会使用到,这里也单独抽取出来,以便日后直接使用。文件上传是以流的方式提交到服务器的,这点与普通的表单提交不同,所以需要对有文件上传域的表单特别声明,这样提交到后台的时候就可以以流的方式进行存取了。实现这个功能我们需要借助Apache的两个jar包:commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar。这两个jar可以在网上直接下载。
文件上传
1、创建一个web工程,并导入上面两个jar包,如下图:
2、创建文件上传表单
3、建立uploadServlet.java文件
4、配置web.xml文件
5、验证是否上传成功
文件下载
实现文件下载需要得到服务器上指定目录下的所有资源,所以第一步是创建一个Servlet用于得到所有的下载资源列表,该Servlet在获取所有资源之后,返回到下载列表的页面,用户可以对其中下载列表进行下载。
首先创建ListFileServlet,用于获取下载资源列表:
然后配置web.xml文件:
接着编写listFile.jsp页面:
为了防止出错,我们先测试以上代码是否有错:
ok,经过测试,我们的代码是正确的。接下来就要实现下载功能了,首先需要编写DownLoadServlet类,对下载的资源进行处理,请看代码:
再配置web.xml文件:
最后,我们来测试我们的下载功能是否正常:
小结
至此,我们就把文件上传域下载两个功能做完了,实现思路不复杂,主要有一些细节的处理,比如文件名中文乱码问题等。文件上传下载是特别实用的功能,需要介绍的内容也就这么多了。在以后的开发中,直接复用这些代码就很方便了。