`

servlet简单实现文件下载

阅读更多
servlet简单实现文件下载

代码没几行,直接贴上:
package org.hwq.down;

import java.io.*;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DownFileAction extends HttpServlet{

	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		/*
		 * 如果想根据用户点击的链接下载,可加上参数,这样可以根据参数完成特定的文件下载
		 * 这里只是简单讲明下载的实现
		 * 
		 * */
		//取出电脑中指定的文件
		File downfile = new File("d:\\downfile.txt");
		//获得response的输出流,以便将数据发送给下载的一方
		ServletOutputStream out = response.getOutputStream();
		/*Content-disposition是MIME协议的扩展,指示MIME用户代理如何显示附加的文件
		 * 当IE接到头时,会激活文件下载对话框
		 */
		response.setHeader("content-disposition", "attachment;filename=downfile.txt");
		
		byte[] buf = new byte[1024*5];
		//获得本地文件输入流
		InputStream in = new FileInputStream(downfile);
		int length = 0;
		while((length = in.read(buf)) != -1){
			out.write(buf, 0, length);
		}
		//将数据刷出,其实调用了out.close()时,自动会调用flush()方法
		out.flush();
		out.close();
		in.close();
	}
}


这里面的MIME协议部分可以参考:http://blog.csdn.net/fanyuna/article/details/5568089

web.xml部分:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>downfilebyservlet</display-name>
  <servlet>
  	<servlet-name>downFile</servlet-name>
  	<servlet-class>org.hwq.down.DownFileAction</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>downFile</servlet-name>
	<url-pattern>/down</url-pattern>  	
  </servlet-mapping>
</web-app>


使用struts2完成下载文件功能可参考:http://pengranxiang.iteye.com/blog/259401
分享到:
评论

相关推荐

    java servlet实现文件下载

    实现文件下载时,必须考虑到安全性。避免路径遍历攻击,确保用户只能下载预设目录内的文件。此外,对于敏感文件,可能需要添加权限检查,防止未经授权的访问。 通过这个简单的Java Servlet实现,我们可以为用户...

    servlet 文件上传下载例子

    在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...

    jsp+servlet实现文件上传下载

    ### jsp+servlet实现文件上传下载 在现代Web开发中,文件上传下载是常见的功能之一。JSP(JavaServer Pages)与Servlet技术结合可以轻松实现这一功能。本篇将详细介绍如何利用jspSmartUpload组件实现文件的上传与...

    servlet简单实现文件下载的方法

    总结来说,Servlet实现文件下载的关键在于正确设置HTTP响应头和使用输入/输出流进行文件内容的传输。这个过程涉及到对文件I/O、HTTP协议以及Servlet生命周期的理解。希望这个解释有助于你更好地理解和实现Java Web中...

    Servlet实现文件上传与下载

    ### Servlet实现文件上传与下载 #### 一、概述 在Web开发中,文件的上传与下载是一项非常常见的功能需求。本文将详细介绍如何使用Java Servlet技术实现文件的上传和下载功能。我们将通过一个简单的示例来展示整个...

    servlet实现文件上传下载

    本教程将详细讲解如何使用Servlet实现文件的上传和下载功能,其中涉及到的主要技术点包括Servlet API、Multipart解析以及文件流操作。 首先,我们需要了解Servlet在文件上传中的作用。Servlet在接收到客户端(通常...

    基于Servlet实现文件的上传与下载

    文件下载的实现相对简单,主要涉及到HTTP响应头的设置。以下是一般的流程: 1. 用户点击下载链接,发送GET请求到服务器。 2. 在Servlet的`doGet`方法中,找到待下载的文件路径。 3. 设置HTTP响应头,包括Content-...

    servlet文件下载项目

    总结一下,这个"Servlet文件下载项目"展示了如何使用Servlet技术实现一个简单的文件下载服务。通过理解Servlet的工作原理、HTTP响应头的设置以及Java I/O流的使用,我们可以构建出更复杂、更安全的文件下载系统。这...

    Servlet文件上传、下载及缩略图的生成

    文件下载则相对简单。Servlet可以通过创建一个`HttpServletResponse`,设置响应头的`Content-Type`和`Content-Disposition`字段来指示浏览器以附件形式下载文件。然后,使用`ServletOutputStream`写入文件内容到响应...

    java servlet实现上传/下载文件

    servlet实现上传文件和下载文件的方法,在浏览器中输入http://ip:port/servletName?path这种方式将客户端文件上传至服务器端,简单的例子,servletName参照web.xml path参照servlet中写的参数

    Servlet中文件上传和下载

    以下是一个简单的文件下载Servlet示例: ```java @WebServlet("/FileDownloadServlet") public class FileDownloadServlet extends HttpServlet { protected void doGet(HttpServletRequest request, ...

    servlet上传下载文件

    在本例中,我们将深入探讨如何使用Servlet来实现文件上传和下载功能。 首先,让我们了解文件上传的基本流程。当用户通过HTML表单提交包含文件的请求时,Servlet接收到这个请求,并使用`Part`接口(来自Java Servlet...

    基于servlet的简易文件上传(带进度条)

    以下是一个简单的Servlet实现文件上传的代码示例: ```java import javax.servlet.http.*; import java.io.IOException; import java.util.List; public class FileUploadServlet extends HttpServlet { ...

    JSP+Servlet实现简易购物车功能

    本项目“JSP+Servlet实现简易购物车功能”就是一个典型的示例,它展示了如何利用这两者来创建一个基本的在线购物系统。以下是关于这个项目及其涉及的技术点的详细解释: 1. **JSP(JavaServer Pages)**:JSP是一种...

    Servlet读取XML文件实现JSP简单分页

    本教程将详细讲解如何使用Servlet读取XML文件来实现JSP的简单分页功能。分页是Web应用程序中常见的需求,它可以帮助用户更有效地浏览大量数据。下面我们将探讨以下几个关键知识点: 1. **Servlet基础**: Servlet...

    用servlet实现了文件上传

    在Servlet中实现文件上传的基本步骤如下: 1. **配置Servlet**:在`web.xml`文件中注册Servlet,指定它将处理的请求URL。例如: ```xml &lt;servlet&gt; &lt;servlet-name&gt;UploadServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;...

    JSP+Servlet+cos文件上传下载Jar包.rar

    "JSP+Servlet+cos文件上传下载Jar包.rar"是一个压缩包,它提供了实现这些功能所需的关键库。让我们详细了解一下这个包以及如何利用其中的资源。 1. **cos.jar**:这是China Online System(COS)的Java库,主要用于...

    Java Servlet实现在浏览器中打开pdf文件

    以下是一个简单的示例,展示如何创建一个名为`FileDownLoadServlet`的Servlet,用于提供PDF文件下载: 1. 首先,我们需要在Servlet中声明并实现`doGet`方法,这是HTTP GET请求的主要处理点: ```java @Override ...

    servlet+jquery实现文件上次进度条

    "servlet+jquery实现文件上传进度条"这个主题正是为了改善这一情况,通过结合Java的Servlet技术和JavaScript的jQuery库,为用户提供了可视化的文件上传进度指示。 Servlet是Java服务器端编程的基础,它在Web应用中...

Global site tag (gtag.js) - Google Analytics