转载
2015-09-14 12:24:55
两种实现方法: 一:通过超链接实现下载
在HTML网页中,通过超链接链接到要下载的文件的地址,程序运行后,可以通过单击需要下载文档实现下载
但是这里会出现一个问题,就是单击下载压缩包的时候会弹出下载页面,但是下载图片的时候浏览器就直接打开了图片,没有下载。
这是因为通过超链接下载文件时,如果浏览器可以识别该文件格式,浏览器就会直接打开。只有浏览器不能识别该文件格式的时候,才会实现下载。
因此利用第二种方法实现下载功能。
二:通过Servlet程序实现下载
通过Servlet下载文件的原理是通过servlet读取目标程序,将资源返回客户端。
[html]
<</span>h1>通过链接下载文件</</span>h1>
<</span>a href="/day06/download/cors.zip">压缩包
<</span>h1>通过servlet程序下载文件
压缩包
其中,/day06/ServletDownload 是servlet程序的映射路径
然后新建一个servlet,名称为ServletDownload,URL映射为/ServletDownload
添加代码如下:
[java]
@WebServlet(asyncSupported = true, urlPatterns = { "/ServletDownload" })
public class ServletDownload extends HttpServlet {
private static final long serialVersionUID = 1L;
public ServletDownload() { super();
// TODO Auto-generated constructor stub }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub //获得请求文件名
String filename = request.getParameter("filename"); System.out.println(filename); //设置文件MIME类型 response.setContentType(getServletContext().getMimeType(filename));
//设置Content-Disposition
response.setHeader("Content-Disposition", "attachment;filename="+filename); //读取目标文件,通过response将目标文件写到客户端
//获取目标文件的绝对路径
String fullFileName = getServletContext().getRealPath("/download/" + filename); //System.out.println(fullFileName); //读取文件
InputStream in = new FileInputStream(fullFileName);
OutputStream out = response.getOutputStream(); //写文件
int b;
while((b=in.read())!= -1)
{ out.write(b); }
in.close();
out.close(); }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub }
}
重启tomcat服务器,即可实现对压缩包和对图片的下载。
分享到:
相关推荐
案例4 利用Java API发送E-mail<br> 案例5 从Mail Server删除一条消息<br> 案例6 在Java程序中实现FTP的功能<br> 案例7 一个最简单的聊天程序 <br> 案例8 代理服务器的实现<br>第十章 Java综合实例<br> 案例1 用Java...
用JSP实现常见的Web应用 <br>7.1 常见的Web应用及分析 <br>7.1.1 留言板、论坛和社区 <br>7.1.2 聊天室 <br>7.1.3 搜索引擎 <br>7.1.4 电子商务 <br>7.1.6 后台管理系统 <br>7.2 留言板 <br>7.2.1 功能分析 <br>...
### Java Spring Boot应用程序中实现文件上传和下载功能 在现代Web开发中,文件上传与下载是常见的需求之一。Spring Boot框架提供了简洁的方式帮助开发者轻松实现这些功能。本文将详细介绍如何在Spring Boot项目中...
本文将详细讲解如何使用Java实现这一功能,包括必要的库引用、代码示例以及转换过程。 首先,我们需要引入Apache POI库,这是一个用于处理Microsoft Office格式文件的Java API。在本示例中,Apache POI将帮助我们...
在这个主题中,我们将深入探讨如何在Java Web应用中实现文件下载功能,并结合Maven进行项目管理。 首先,我们需要了解Java中的文件下载原理。在HTTP协议中,服务器可以通过设置特定的响应头来告知浏览器资源的类型...
总结,Hadoop的Web上传、下载、更新、删除和文件追加功能提供了对HDFS的便捷访问,使得非Java环境下的数据管理变得可能。通过学习和实践这些操作,可以提升Hadoop环境的管理和维护能力。同时,结合提供的文档如`说明...
TCP/IP和Internet 8<br>2.1 一段历史 8<br>2.1.1 ARPANET 8<br>2.1.2 TCP...<br>2.3.2 文件传输协议 14<br>2.3.3 Telnet 14<br>2.3.4 Email 14<br>2.3.5 WWW 14<br>2.3.6 USENET News 15<br>2.4 Intranet和Extranet概览...
3 Jive源代码情景分析-forum.jsp <br> 4 Jive源代码情景分析-过滤器篇 <br> 5 jive每日一步-web.xml <br> 6 全面了解Jive中的ID机制 <br> 7 tree树形数据结构 <br><br> <br> <br>扩展功能<br> 1 为jive3.x写Color...
<br><br>本系统是WEB模式的新闻发布管理系统<br>运行环境:Tomact+JDK<br>编程模式:JSP+JavaBean+JavaServlet<br>后台数据库:MySql\Access<br><br>系统主要完成的功能如下:<br><br>管理员(后台)<br>.系统管理:用户...
<a href="#" id="downLoadTemplate"><span>下载模板</span></a> ``` - 这是一个简单的HTML链接元素,用于触发模板下载操作。 - `id="downLoadTemplate"`:设置ID便于JavaScript选择器使用。 - `<span>`标签内...
在Java Web开发中,文件上传和下载是常见的功能需求,特别是在构建用户交互性强的Web应用时。`FileUtils`是一个方便的工具类,用于简化这些操作。本篇将详细讲解如何利用`FileUtils`实现文件的上传和下载,并介绍...
Java 实现文件上传、下载 在本文中,我们将介绍如何使用 Java 实现文件上传和下载,具体来说是使用 Struts2 框架在 Tomcat 服务器上实现文件上传和下载。 环境准备 首先,我们需要准备一个 Java 开发环境,我使用...
通过本文介绍的方法,我们可以有效地利用Apache Commons FileUpload组件实现在Java Web应用中的文件上传功能。相比于Smartupload等早期组件,Apache Commons FileUpload提供了更为强大的文件处理能力,并且拥有活跃...
Java Web应用程序设计是开发基于Web的应用程序的一种技术,它结合了Java编程语言和Web服务器技术,为用户提供交互式的、动态的网页体验。本文件详细介绍了Java Web编程的基础知识,包括HTML的基本元素,这对于理解...
现在,我们转向主题,即如何在Java中实现PDF文件的下载。有两种主要的方式: 1. **通过系统路径下载**:这种方式适用于后台生成PDF后,直接保存到服务器的某个路径,然后提供URL给用户下载。以下是一个简单的示例:...
【Java Web 文件下载功能实现】 在Java Web开发中,实现文件下载功能是非常常见的需求,例如让用户下载图片、文档等资源。下面将详细讲解两种实现文件下载的方法:通过超链接和通过Servlet程序。 ### 1. 通过...
|-- META-INF 打包的信息文件夹<br> |-- WEB-INF<br> |-- faces-config.xml JSF的配置文件1,托管Bean的配置<br> |-- navigation.xml JSF的配置文件2,导航规则的配置<br> |-- web.xml web应用部署描述文件<br> |-- ...
filename=example.txt">下载文件</a> </body> </html> ``` 接着,我们来看核心部分`dodownloadtool.jsp`,这个后台页面负责处理文件的读取和发送到客户端。在`dodownloadtool.jsp`中,我们需要获取文件路径,打开...