对于文件上传,浏览器在上传过程中是将文件以流的形式提交到服务器端。如果直接使用servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦的,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts上传的功能就是基于这个实现的。common-fileupload是依赖common-io这个jar包的,所以还需要下载这个包。
一、实现文件上传
1.1 文件上传页面及消息提示页面
upload.jsp页面代码如下:
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML> <html> <head> <title>文件上传</title> </head> <body> <form action="${pageContext.request.contextPath}/servlet/UploadHandleServlet" enctype="multipart/form-data" method="post"> 上传用户:<input type="text" name="username"><br/> 上传文件1:<input type="file" name="file1"><br/> 上传文件2:<input type="file" name="file2"><br/> <input type="submit" value="提交"> </form> </body> </html>