要下载一个文件,那么就要知道这个文件mime类型,所以要先把你的系统中允许下载的mime类型放到xml文件中!
接下来就要根据文件的后缀名读取xml文件中的mime类型
我的操作是将所有的mime类型都放到java.util.Map中
接下来就是在servlet中下载文件了
以上代码是最主要的设置,因为根据不同的系统的下载情况而定!
如果想要本人自己制作的示例,请E-mail我 javaeeboy@qq.com 我发邮件给你!谢谢
如果有更好的操作方式希望不吝赐教,多多留言,谢谢
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE SYSTEM> <mime> <mime-mapping> <extension>abs</extension> <mime-type>audio/x-mpeg</mime-type> </mime-mapping> <mime-mapping> <extension>ai</extension> <mime-type>application/postscript</mime-type> </mime-mapping> <mime-mapping> <extension>aif</extension> <mime-type>audio/x-aiff</mime-type> </mime-mapping> ......
接下来就要根据文件的后缀名读取xml文件中的mime类型
我的操作是将所有的mime类型都放到java.util.Map中
package download; import java.io.File; import java.util.*; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class ReadMimeConfig { private static Map<String, String> mimeMap = new HashMap<String, String>(); public ReadMimeConfig(){ SAXReader saxReader = new SAXReader(); //获取xml文件的路径,这是根据网络路径来获取的 String path = getClass().getResource("/download/mime.xml").getFile(); path = path.replaceAll("%20", " ");//格式化 try { File file = new File(path); /*下面是dom4j操作*/ Document document = saxReader.read(file); Element mime = document.getRootElement(); Iterator<Element> i = mime.elementIterator(); int j = 0; while (i.hasNext()) { Element mime_mapping = i.next(); String extensionName = mime_mapping.elementText("extension"); String mimeType = mime_mapping.elementText("mime-type"); mimeMap.put(extensionName, mimeType); j++; } System.out.println(j+":::"); } catch (DocumentException e) { e.printStackTrace(); } } public String getMimeType(String extensionName) { return mimeMap.get(extensionName); } }
接下来就是在servlet中下载文件了
String mimeType = config.getMimeType(path.substring(path .lastIndexOf(".") + 1));//获取文件的mime类型 /*下载提示框的设置*/ response.setContentType(mimeType); response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\""); response.setHeader("Content-Type", mimeType); /*把文件转换为字节输出流,参数为文件输出流*/ BufferedInputStream bis = new BufferedInputStream( new FileInputStream(path1)); /* * 输出流,输出的对象为响应的下载提示框 * 参数表示输出流的响应对象 */ BufferedOutputStream bos = new BufferedOutputStream(response .getOutputStream()); byte[] contents = new byte[8192]; while (bis.read(contents) != -1) { bos.write(contents); }
以上代码是最主要的设置,因为根据不同的系统的下载情况而定!
如果想要本人自己制作的示例,请E-mail我 javaeeboy@qq.com 我发邮件给你!谢谢
如果有更好的操作方式希望不吝赐教,多多留言,谢谢
发表评论
-
8888888888888
2012-07-06 21:26 0public Pooled(String name) ... ... -
77777777777777
2012-07-06 21:26 0public class Pooled extends Thr ... -
444444
2012-07-06 21:25 0public void setDebug(boolean d ... -
33333
2012-07-06 21:25 0switch (repool.getPriority()) ... -
22222
2012-07-06 21:24 0// 初始化线程list private Threa ... -
11111
2012-07-06 21:23 0// 线程数量 private int _threadC ... -
dssds
2012-07-06 21:21 0private static ThreadPool inst ... -
wedawed
2011-05-12 19:06 177# -*- coding: UTF-8 -*- #imp ... -
asa
2011-05-12 18:50 113#任务执行状态 STATE_START = 'STATE_S ... -
asda
2010-11-28 16:32 0引用 <?xml version="1.0&q ... -
使用commons-fileupload组件上传文件
2010-10-07 21:45 1145这是使用了commons-fileupload-1.2.1.j ... -
使用dom4j操作xml文件
2010-10-06 19:44 1686第一种,使用dom4j生成一个xml文件 package ... -
制作美观的验证码图片
2010-10-06 19:36 1027package pic.util; import jav ... -
使用oreilly上传组件上传文件
2010-10-06 19:30 699public class fileOreilly ex ... -
MD5加密
2010-10-06 19:20 917经过MD5加密后,得到16位的16进制数 public ... -
使用javaMail组件来发送邮件
2010-10-06 19:10 1263为大家介绍javaMail组件的使用,首先是发送普通的邮件 ... -
实现天气预报接口
2010-10-06 18:56 2217透过URL来获取天气预报,在jsp页面将天气显示出来 pa ...
相关推荐
在这个"Servlet文件下载项目"中,我们利用Servlet技术来实现文件的下载功能。这是一个非常实用的功能,尤其对于那些需要向用户提供文件下载服务的网站或应用。 首先,我们需要了解Servlet的基本工作原理。Servlet是...
jsp、servlet 文件上传下载技术详解 文件上传下载是 Web 应用中的一种常见需求,...jsp、servlet 文件上传下载技术是 Web 应用中的一种常见解决方案,通过使用 jsp 页面和 servlet 实现文件上传下载,满足用户的需求。
### 基于Servlet的文件下载技术解析 #### 一、引言 在Web应用程序开发过程中,文件上传和下载是常见的需求之一。特别是在企业级应用中,用户经常需要下载诸如报告文档、数据备份等文件。Java Servlet作为一种强大...
这个链接会指向一个`servlet`,由`servlet`来处理实际的文件读取和下载逻辑。 1. **创建Servlet**:首先,我们需要创建一个自定义的`servlet`,例如`FileDownloadServlet`。在`src`目录下的Java源代码文件中,我们...
Servlet技术广泛应用于文件上传和下载的功能实现,因为它们可以方便地与客户端交互并处理数据流。在本例中,我们将深入探讨如何使用Servlet来实现文件上传和下载功能。 首先,让我们了解文件上传的基本流程。当用户...
在IT行业中,文件上传与下载是Web应用中常见的功能,特别是在企业级系统中,例如文档管理系统、在线教育平台等。Servlet作为Java Web开发中的一个重要组件,常被用来处理这些操作。下面将详细介绍如何使用Servlet...
在本文中,我们将深入探讨如何使用Servlet技术来实现一个简单的用户登录功能。Servlet是一种Java编程接口,用于扩展服务器的功能,特别是在Web应用中处理HTTP请求。在这个项目中,我们结合了Servlet与JSP(Java...
以下是对Servlet技术的详细介绍: 1. **Servlet基本概念**: Servlet是一种Java类,它扩展了服务器的功能,主要用于接收和处理来自客户端(通常是Web浏览器)的请求,并生成相应的响应。它们在Web服务器中运行,与...
本教程将详细讲解如何使用Servlet实现文件的上传和下载功能,其中涉及到的主要技术点包括Servlet API、Multipart解析以及文件流操作。 首先,我们需要了解Servlet在文件上传中的作用。Servlet在接收到客户端(通常...
"北大青鸟accp7.0使用JSP/Servlet技术开发新闻发布系统课件+上级+课后作业答案"这个标题表明这是一套由北大青鸟教育机构推出的accp7.0课程的教学资源,重点在于讲解如何利用JSP(JavaServer Pages)和Servlet技术来...
在这个场景中,"使用Servlet实现文件的下载"是一个常见的需求,特别是在构建动态网站时,用户可能需要下载服务器上的文件。以下是关于如何使用Servlet实现文件下载的详细步骤和知识点: 1. **创建Servlet**:首先,...
总之,Servlet3.1规范官方文档(中文版)是学习Java Servlet技术不可或缺的参考资料,它不仅详细描述了Servlet技术的规范,还提供了学习和参考的标准。通过阅读此文档,开发者能够掌握如何在Java EE平台上构建Web...
本教程将深入讲解如何利用JSP和Servlet来实现大型文件的下载功能,这对于构建高效、稳定的Web应用至关重要。 一、Servlet简介 Servlet是Java平台上的一个标准接口,用于扩展服务器的功能。在Web开发中,Servlet通常...
总的来说,这个项目提供了一个全面的示例,演示了Servlet如何处理常见的文件操作,对于学习Java Web开发和Servlet技术的人来说非常有价值。通过深入研究和理解这个项目,你可以更好地掌握服务器端文件处理和图像处理...
java实现jsp+servlet文件下载及批量下载,mvc分层技术
在本示例中,我们探讨的是如何使用Servlet来实现多文件的批量下载功能。批量下载通常涉及到将多个文件打包成一个压缩文件,然后提供给用户下载,这样可以极大地提高下载效率,尤其当用户需要下载大量小文件时。 ...
本知识点主要探讨如何使用JSP和Servlet来实现文件的上传与下载功能,这是Web应用中常见的需求。 首先,我们要理解JSP和Servlet的角色。JSP主要用于展示视图,而Servlet则处理业务逻辑和控制流程。在上传下载场景中...
Servlet接收到下载请求后,会准备文件的下载流,并设置合适的HTTP响应头,比如Content-Disposition来指定文件名,以及Content-Type来指明文件类型。然后,Servlet将文件内容写入响应流,前端接收到这个响应后,...
本文将深入探讨如何在Servlet中实现文件的上传和下载功能,以及在页面上利用JSP和Javabean来实例化对象。 首先,文件上传是通过HTTP多部分请求(Multipart Request)来实现的。Servlet 3.0及以上版本提供了对这种...
【ACCP 6.0 S2-5】课程主要涵盖了使用JSP(JavaServer Pages)、Servlet和Ajax技术来开发新闻发布的系统。这是一个典型的Web应用程序开发主题,旨在教授学员如何利用这些技术构建动态、交互式的网站。 JSP是Java...