一、文件上传
1.1使用file标签上传文件
把本地的文件通过html中的file标签上传到服务端WEB-INF/File目录下(WEB-INF目录下的文件不可见,保证安全性),我们都知道当我们上传一个文件的时候,一般程序不会更改原先的文件名称,而是会在原先文件名前加上随机的字符来标识唯一,因此当用户想要把原来的文件下载后,还能保证原先文件名。下面我将给大家讲讲如何实现。
首先做一个简单的jsp界面,代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>文件上传</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/upload" method="post" enctype="multipart/form-data">
文件1:<input type="file" name="file1"><br/>
文件2:<input type="file" name="file2"><br/>
<input type="submit" value="提交">
</form>
</body>
</html>
运行tomcat,打开页面后,点击选择文件,从本地选择想要上传的文件之后,点击提交按钮通过uploadservlet来完成文件的上传。
uploadservlet代码:
import com.qf.utils.FileUtils;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
@WebServlet(name = "UploadServlet"