`
zaife
  • 浏览: 40857 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

下载服务的Servlet

    博客分类:
  • java
阅读更多
java 代码
  1. import java.io.File;   
  2. import java.io.FileInputStream;   
  3. import java.io.IOException;   
  4. import java.io.OutputStream;   
  5.   
  6. import javax.servlet.ServletException;   
  7. import javax.servlet.http.HttpServlet;   
  8. import javax.servlet.http.HttpServletRequest;   
  9. import javax.servlet.http.HttpServletResponse;   
  10.   
  11. import org.apache.log4j.Logger;   
  12.   
  13.   
  14.   
  15. public class DownloadRscFileServlet extends HttpServlet {   
  16.     private Logger log = Logger.getLogger(this.getClass());   
  17.        
  18.     /**  
  19.      * Constructor of the object.  
  20.      */  
  21.     public DownloadRscFileServlet() {   
  22.         super();   
  23.     }   
  24.   
  25.     /**  
  26.      * Destruction of the servlet. <br>  
  27.      */  
  28.     public void destroy() {   
  29.         super.destroy(); // Just puts "destroy" string in log   
  30.         // Put your code here   
  31.     }   
  32.   
  33.     /**  
  34.      * The doGet method of the servlet. <br>  
  35.      *   
  36.      * This method is called when a form has its tag value method equals to get.  
  37.      *   
  38.      * @param request the request send by the client to the server  
  39.      * @param response the response send by the server to the client  
  40.      * @throws ServletException if an error occurred  
  41.      * @throws IOException if an error occurred  
  42.      */  
  43.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
  44.             throws ServletException, IOException {   
  45.         String rscFileName = request.getParameter("rscFileName");   
  46.     
  47.         if(rscFileName == null || rscFileName.equals("")){   
  48.             log.debug(   
  49.                 "Invaild request:can not get type from request!");   
  50.             return;   
  51.         }   
  52.         String path = "d:/upload";   
  53.         //String rscFileName = SMPConfig.getValue("");   
  54.         File rscFile = new File(path+"/"  + rscFileName);   
  55.         if(!rscFile.exists()){   
  56.             log.debug(   
  57.                 "In DownloadRscFileServlet..... RscFile does not exist! RscFileName:" +   
  58.                 rscFileName + " FileName:" + rscFile.getAbsolutePath());   
  59.             response.getWriter().println(rscFileName + " does not exist!");   
  60.             return;   
  61.         }   
  62.         response.setHeader("Content-disposition","attachment; filename=" + rscFile.getName());   
  63.         response.setContentType("application/x-msdownload");   
  64.         OutputStream out = response.getOutputStream();   
  65.         FileInputStream in = new FileInputStream(rscFile);   
  66.         int i = -1;   
  67.         while((i = in.read()) != -1){   
  68.             out.write(i);   
  69.         }   
  70.         in.close();   
  71.         out.close();           
  72.            
  73.     }   
  74.        
  75.     /**  
  76.      * The doGet method of the servlet. <br>  
  77.      *   
  78.      * This method is called when a form has its tag value method equals to get.  
  79.      *   
  80.      * @param request the request send by the client to the server  
  81.      * @param response the response send by the server to the client  
  82.      * @throws ServletException if an error occurred  
  83.      * @throws IOException if an error occurred  
  84.      */  
  85.     public void doPost(HttpServletRequest request, HttpServletResponse response)   
  86.             throws ServletException, IOException {   
  87.         doGet(request,response);   
  88.     }       
  89. }  
分享到:
评论

相关推荐

    servlet-api.jar 下载地址

    - `GenericServlet`: 它实现了`Servlet`接口,提供了通用的Servlet功能,可以处理任何协议的服务请求。 - `HttpServlet`: 基于HTTP协议的Servlet,继承自`GenericServlet`,提供了处理HTTP请求的方法,如`doGet()`...

    servlet文件下载项目

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

    javax.servlet.jar包下载

    如果你在使用这些服务器,通常它们会自带Servlet API的实现,不需要单独下载和添加`javax.servlet.jar`。但如果你是在独立的Java应用中使用Servlet,那么这个jar包是必需的。 6. **Servlet 3.0及以上版本** 自...

    servlet3.0.jar下载

    Servlet 3.0是Java Servlet规范的一个重要版本,它带来了许多新特性和改进,极大地提升了Web应用程序的开发效率和灵活性。这个"javax.servlet-api-3.0.1.jar"文件是Servlet 3.0规范的API实现,包含了开发人员编写...

    servlet API 中文版

    3. **Servlet生命周期**:Servlet的生命周期包括加载、初始化、服务、销毁四个阶段。加载和初始化只在Servlet首次被请求时发生,而服务方法会在每次请求时调用。最后,当Web应用停止或Servlet不再需要时,容器会调用...

    servlet 文件上传下载例子

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

    java servlet实现文件下载

    Java Servlet是一种Java编程语言...通过这个简单的Java Servlet实现,我们可以为用户提供一个安全、可控的文件下载服务。理解这些基本步骤和相关的HTTP概念,将有助于你更好地设计和实现Web应用程序中的文件下载功能。

    Servlet+API+中文版

    - `void service(ServletRequest request, ServletResponse response) throws ServletException, IOException`:核心服务方法,根据客户端请求类型(GET/POST等)执行相应的方法。在此方法中,开发者编写处理逻辑来...

    servlet-api下载

    Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是...

    javaEE servlet-api

    在Java EE中,Servlet生命周期包含三个主要阶段:加载、初始化和服务。当服务器接收到对Servlet的首次请求时,它会加载并实例化Servlet,然后调用`init()`方法进行初始化。之后,每次有新的请求到达,`service()`...

    servlet上传下载文件

    Servlet技术广泛应用于文件上传和下载的功能实现,因为它们可以方便地与客户端交互并处理数据流。在本例中,我们将深入探讨如何使用Servlet来实现文件上传和下载功能。 首先,让我们了解文件上传的基本流程。当用户...

    jsp+servlet文件下载及批量下载

    java实现jsp+servlet文件下载及批量下载,mvc分层技术

    servlet api servlet api

    - 服务:每当服务器接收到对Servlet的新请求,都会调用`service()`方法来处理请求和响应。 - 销毁:当Servlet不再使用或者Web应用停止时,调用`destroy()`方法释放资源。 3. **Servlet API的主要接口和类**: - ...

    ajax+json+servlet下载

    结合JSON(JavaScript Object Notation)和Servlet,我们可以实现一个高效且用户友好的文件下载系统。以下是对这个"ajax+json+servlet下载"主题的详细解释。 首先,我们需要理解Ajax的核心原理。Ajax通过...

    servlet-api

    总的来说,Servlet API是Java Web开发的基础,它提供了一套标准的API来处理HTTP请求和响应,使得开发者可以构建功能丰富的Web服务。通过学习和掌握Servlet API,开发者可以更好地理解和控制Web服务器的工作流程,...

    Servlet实现下载

    ### Servlet 实现文件下载知识点详解 #### 一、Servlet简介及应用场景 Servlet 是 Java Web 开发中的一个重要组件,它主要用于处理客户端发送至服务器的 HTTP 请求,并返回相应的响应。Servlet 的核心接口是 `...

    java下载类(servlet)

    在这个特定的场景中,"java下载类(servlet)"指的是一个使用Servlet技术来实现文件下载功能的Java代码示例。下面将详细介绍这个主题,包括Servlet的基本概念、文件下载的原理以及如何使用Servlet来实现文件下载功能...

    servlet-api.jar

    1. Servlet生命周期:包括初始化、服务、销毁三个阶段。 2. doGet()和doPost()方法:分别对应HTTP的GET和POST请求,是Servlet处理客户端请求的主要入口点。 3. 请求处理流程:客户端发送请求到服务器,服务器创建...

    java jsp+servlet实现文件下载(而不是在网页中显示出文件内容) 迅雷下载功能.zip

    在Java Web开发中,`jsp`(JavaServer Pages)和`servlet`经常被用来构建动态网站,处理HTTP请求和响应。...在实际开发中,还需要考虑其他因素,如错误处理、日志记录和性能优化,以提供更稳定和高效的文件下载服务。

    答Servlet下载文件的附件

    通过这种方式,我们可以构建一个灵活且可靠的文件下载服务,为用户提供安全的文件下载体验。这个过程可能会涉及到一些源码和工具的使用,例如对HTTP协议的理解,文件操作的技巧,以及可能用到的调试工具。在阅读"答...

Global site tag (gtag.js) - Google Analytics