jsp的简单实例——文件的上传下载(指定文件)资源文件
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
//下载资源文件
@WebServlet(value="/download",name="DownloadAllFile")
public class DownloadAllFile extends HttpServlet {
private String fileName="F:/nginx-server/allfile/";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name= req.getParameter("name");
String cnFileName = URLEncoder.encode(name,"utf-8");//解决中文乱码问题
resp.setHeader("Content-Disposition","attachment; filename=" + cnFileName);//下载头信息的固定模式
InputStream inputStream= new FileInputStream(fileName+name);
byte[] bytes= new byte[2048];
int length=0;
ServletOutputStream servletOutputStream = resp.getOutputStream();
while(-1!=(length=inputStream.read(bytes))){
servletOutputStream.write(bytes,0,length);
}
servletOutputStream.flush();
servletOutputStream.close();
inputStream.close();
}
}
jsp
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2020-04-11
Time: 下午 12:48
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.io.*" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
File file = new File("F:/nginx-server/allfile");
// if(file.isDirectory()) {//判断改文件是否合法
File[] fe = file.listFiles();//获取文件夹下所有文件
for (File f : fe) {
String fileName=f.getName();
%>
<a href="download?name=<%out.print(fileName);%>"><%out.print(fileName);%></a><br>
<%
// }
}
%>
</body>
</html>