webapp项目的结构如下图:
download.html文件的内容如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>资源下载:</h1> <p> 单纯地使用a标签时,只有浏览器不能解析的文件才会是下载,否则将被浏览器直接解析。</p> <a href="/WEB/resource/a.mp3" rel="external nofollow" >a.mp3</a><br> <a href="/WEB/resource/a.exe" rel="external nofollow" >a.exe</a><br> <a href="/WEB/resource/a.txt" rel="external nofollow" >a.txt</a><br> <a href="/WEB/resource/a.xlsx" rel="external nofollow" >a.xlsx</a><br> <a href="/WEB/resource/a.png" rel="external nofollow" >a.png</a><br> <p>因此,使用a标签结合servlet的response指示浏览器不解析这些待下载文件</p> <a href="/WEB/download?filename=a.mp3" rel="external nofollow" >a.mp3</a><br> <a href="/WEB/download?filename=a.exe" rel="external nofollow" >a.exe</a><br> <a href="/WEB/download?filename=a.txt" rel="external nofollow" >a.txt</a><br> <a href="/WEB/download?filename=a.xlsx" rel="external nofollow" >a.xlsx</a><br> <a href="/WEB/download?filename=a.png" rel="external nofollow" >a.png</a><br> </body> </html>
负责处理下载的Servlet——download.java文件的内容如下:
package com.download.servlet; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Download */ public class Download extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.获取请求下载的文件名 String filename = request.getParameter("filename"); //2.获取文件的文件系统路径 String filePath = request.getServletContext().getRealPath("resource/"+filename); //3.设置响应头,提示浏览器不要解析响应的文件数据,而是以附件(attachment)的形式解析,即下载功能 response.setContentType(this.getServletContext().getMimeType(filename)); response.setHeader("Content-Disposition", "attachment;filename="+filename); //4.读取文件的 输入流,以及响应的输出流,并将数据输出给客户端 InputStream in = new FileInputStream(filePath); ServletOutputStream out = response.getOutputStream(); int len = 0; byte[] buf = new byte[1024]; while((len=in.read(buf))!=-1) { out.write(buf, 0, len); } in.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
在浏览器地址栏中输入http://localhost:8080/DownloadServlet/download.html。
以上这篇java web response提供文件下载功能的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍JavaWeb实现文件上传下载功能实例详解,包括了JavaWeb实现文件上传下载功能实例详解的使用技巧和注意事项,需要的朋友参考一下 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 文件上传概述 1、文件上传的作用 例如网络硬盘!就是用来上传下载文件的。 在智联招聘上填写一个完整的简历还需要上传照片呢。 2、文件上
本文向大家介绍SpringMVC实现文件下载功能,包括了SpringMVC实现文件下载功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了SpringMVC文件下载的具体代码,供大家参考,具体内容如下 两个案例 1.为登录用户提供下载服务。 2.阻止仅通过输入网址即可获取下载。 文件下载概览 为了将文件发送给浏览器,我们需要在控制器中完成以下操作: 对请求处理方法使用vo
本文向大家介绍C#实现文件上传与下载功能实例,包括了C#实现文件上传与下载功能实例的使用技巧和注意事项,需要的朋友参考一下 最近学习了 C#实现文件上传与下载,现在分享给大家。 1、C#文件上传 创建MyUpload.htm页面,用于测试 创建UploadFile.aspx文件,在UploadFile.aspx.cs键入如下代码: 2 、C#文件下载 创建DownloadFile.aspx,在Do
本文向大家介绍c# 实现文件上传下载功能的实例代码,包括了c# 实现文件上传下载功能的实例代码的使用技巧和注意事项,需要的朋友参考一下 NuGet 安装SqlSugar 1.Model文件下新建 DbContext 类 2.建uploading实体类 3.Manager文件下建UploadingManager 窗体加载Form1_Load 1.读取到数据库字段name并赋值 2.comboBox事
本文向大家介绍python2.7实现FTP文件下载功能,包括了python2.7实现FTP文件下载功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现FTP文件下载功能的具体代码,供大家参考,具体内容如下 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍C#实现文件上传及文件下载功能实例代码,包括了C#实现文件上传及文件下载功能实例代码的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,具体代码如下所示: 总结 以上所述是小编给大家介绍的C#实现文件上传及文件下载功能实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!