在项目下面新建一个文件目录放部分文件,
DownloadListServlet.java
@WebServlet("/list")
public class DownloadListServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取download目录下所有的文件名(放置下载文件的文件目录)
String realPath = getServletContext().getRealPath("download");
File file = new File(realPath);
File[] list = file.listFiles();
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
for (File f : list) {
String name = f.getName();
// 对内容使用url编码 编码之后的内容ie可以解析
String encodeName = URLEncoder.encode(name, "utf-8");
System.out.println(name);
response.getWriter().write("<a href='download?filename=" + encodeName + "'>" + name + "</a><br/>");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
其中download目录下文件如图:
访问注解的list路径:
每个文件名变成超链接,点击即下载