`
武瑞华
  • 浏览: 10904 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

<转>java web文件下载功能实现

阅读更多
转载
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服务器,即可实现对压缩包和对图片的下载。
分享到:
评论

相关推荐

    Java案例开发锦集

    案例4 利用Java API发送E-mail&lt;br&gt; 案例5 从Mail Server删除一条消息&lt;br&gt; 案例6 在Java程序中实现FTP的功能&lt;br&gt; 案例7 一个最简单的聊天程序 &lt;br&gt; 案例8 代理服务器的实现&lt;br&gt;第十章 Java综合实例&lt;br&gt; 案例1 用Java...

    JSP高级编程

    用JSP实现常见的Web应用 &lt;br&gt;7.1 常见的Web应用及分析 &lt;br&gt;7.1.1 留言板、论坛和社区 &lt;br&gt;7.1.2 聊天室 &lt;br&gt;7.1.3 搜索引擎 &lt;br&gt;7.1.4 电子商务 &lt;br&gt;7.1.6 后台管理系统 &lt;br&gt;7.2 留言板 &lt;br&gt;7.2.1 功能分析 &lt;br&gt;...

    Java Spring Boot应用程序中实现文件上传和下载功能

    ### Java Spring Boot应用程序中实现文件上传和下载功能 在现代Web开发中,文件上传与下载是常见的需求之一。Spring Boot框架提供了简洁的方式帮助开发者轻松实现这些功能。本文将详细介绍如何在Spring Boot项目中...

    java方式完整的word文件转html代码样例

    本文将详细讲解如何使用Java实现这一功能,包括必要的库引用、代码示例以及转换过程。 首先,我们需要引入Apache POI库,这是一个用于处理Microsoft Office格式文件的Java API。在本示例中,Apache POI将帮助我们...

    java_web文件下载(maven)

    在这个主题中,我们将深入探讨如何在Java Web应用中实现文件下载功能,并结合Maven进行项目管理。 首先,我们需要了解Java中的文件下载原理。在HTTP协议中,服务器可以通过设置特定的响应头来告知浏览器资源的类型...

    hadoop的web上传、下载、更新、删除和文件追加

    总结,Hadoop的Web上传、下载、更新、删除和文件追加功能提供了对HDFS的便捷访问,使得非Java环境下的数据管理变得可能。通过学习和实践这些操作,可以提升Hadoop环境的管理和维护能力。同时,结合提供的文档如`说明...

    TCP-IP技术大全

    TCP/IP和Internet 8&lt;br&gt;2.1 一段历史 8&lt;br&gt;2.1.1 ARPANET 8&lt;br&gt;2.1.2 TCP...&lt;br&gt;2.3.2 文件传输协议 14&lt;br&gt;2.3.3 Telnet 14&lt;br&gt;2.3.4 Email 14&lt;br&gt;2.3.5 WWW 14&lt;br&gt;2.3.6 USENET News 15&lt;br&gt;2.4 Intranet和Extranet概览...

    jive.chm

    3 Jive源代码情景分析-forum.jsp &lt;br&gt; 4 Jive源代码情景分析-过滤器篇 &lt;br&gt; 5 jive每日一步-web.xml &lt;br&gt; 6 全面了解Jive中的ID机制 &lt;br&gt; 7 tree树形数据结构 &lt;br&gt;&lt;br&gt; &lt;br&gt; &lt;br&gt;扩展功能&lt;br&gt; 1 为jive3.x写Color...

    基于JSP新闻发布系统

    &lt;br&gt;&lt;br&gt;本系统是WEB模式的新闻发布管理系统&lt;br&gt;运行环境:Tomact+JDK&lt;br&gt;编程模式:JSP+JavaBean+JavaServlet&lt;br&gt;后台数据库:MySql\Access&lt;br&gt;&lt;br&gt;系统主要完成的功能如下:&lt;br&gt;&lt;br&gt;管理员(后台)&lt;br&gt;.系统管理:用户...

    java实现模板下载功能

    &lt;a href="#" id="downLoadTemplate"&gt;&lt;span&gt;下载模板&lt;/span&gt;&lt;/a&gt; ``` - 这是一个简单的HTML链接元素,用于触发模板下载操作。 - `id="downLoadTemplate"`:设置ID便于JavaScript选择器使用。 - `&lt;span&gt;`标签内...

    FileUtils java web 文件上传下载工具

    在Java Web开发中,文件上传和下载是常见的功能需求,特别是在构建用户交互性强的Web应用时。`FileUtils`是一个方便的工具类,用于简化这些操作。本篇将详细讲解如何利用`FileUtils`实现文件的上传和下载,并介绍...

    java实现文件上传、下载.pdf

    Java 实现文件上传、下载 在本文中,我们将介绍如何使用 Java 实现文件上传和下载,具体来说是使用 Struts2 框架在 Tomcat 服务器上实现文件上传和下载。 环境准备 首先,我们需要准备一个 Java 开发环境,我使用...

    java 实现大文件上传

    通过本文介绍的方法,我们可以有效地利用Apache Commons FileUpload组件实现在Java Web应用中的文件上传功能。相比于Smartupload等早期组件,Apache Commons FileUpload提供了更为强大的文件处理能力,并且拥有活跃...

    Java Web 应用程序设计.doc

    Java Web应用程序设计是开发基于Web的应用程序的一种技术,它结合了Java编程语言和Web服务器技术,为用户提供交互式的、动态的网页体验。本文件详细介绍了Java Web编程的基础知识,包括HTML的基本元素,这对于理解...

    java使用itext实现pdf文件下载

    现在,我们转向主题,即如何在Java中实现PDF文件的下载。有两种主要的方式: 1. **通过系统路径下载**:这种方式适用于后台生成PDF后,直接保存到服务器的某个路径,然后提供URL给用户下载。以下是一个简单的示例:...

    java web文件下载功能实现 - longshengguoji的专栏 - CSDN博客1

    【Java Web 文件下载功能实现】 在Java Web开发中,实现文件下载功能是非常常见的需求,例如让用户下载图片、文档等资源。下面将详细讲解两种实现文件下载的方法:通过超链接和通过Servlet程序。 ### 1. 通过...

    JSF1.2+EJB3.0实现的一个项目实例

    |-- META-INF 打包的信息文件夹&lt;br&gt; |-- WEB-INF&lt;br&gt; |-- faces-config.xml JSF的配置文件1,托管Bean的配置&lt;br&gt; |-- navigation.xml JSF的配置文件2,导航规则的配置&lt;br&gt; |-- web.xml web应用部署描述文件&lt;br&gt; |-- ...

    java+jsp 文件下载(服务器上的文件)

    filename=example.txt"&gt;下载文件&lt;/a&gt; &lt;/body&gt; &lt;/html&gt; ``` 接着,我们来看核心部分`dodownloadtool.jsp`,这个后台页面负责处理文件的读取和发送到客户端。在`dodownloadtool.jsp`中,我们需要获取文件路径,打开...

Global site tag (gtag.js) - Google Analytics