
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下javaWeb中的文件上传和下载功能的实现。
对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts上传的功能就是基于这个实现的。common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。
一、开发环境搭建
创建一个FileUploadAndDownLoad项目,加入Apache的commons-fileupload文件上传组件的相关Jar包,如下图所示:

二、实现文件上传2.1、文件上传页面和消息提示页面
upload.jsp页面的代码如下:
1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5<title>文件上传</title> 6 </head> 78 <body> 9<form action="${pageContext.request.contextPath}/servlet/UploadHandleServlet" enctype="multipart/form-data" method="post">10上传用户:<input type="text" name="username"><br/>11上传文件1:<input type="file" name="file1"><br/>12上传文件2:<input type="file" name="file2"><br/>13<input type="submit" value="提交">14</form>15 </body>16 </html>message.jsp的代码如下:
1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5<title>消息提示</title> 6 </head> 78 <body> 9${message}10 </body>11 </html>2.2、处理文件上传的ServletUploadHandleServlet的代码如下:
1 package me。gacl。web。controller; 2 3 import java。io。File; 4 import java。io。FileOutputStream; 5 import java。io。IOException; 6 import java。io。InputStream; 7 import java。util。List; 8 import javax。servlet。ServletException; 9 import javax。servlet。http。HttpServlet; 10 import javax。servlet。http。HttpServletRequest; 11 import javax。servlet。http。HttpServletResponse; 12 import org。apache。commons。fileupload。FileItem; 13 import org。apache。commons。fileupload。disk。DiskFileItemFactory; 14 import org。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-52904-1.html
事后毙我也行
请教一下
要说北洋水师失败