`
zaife
  • 浏览: 40475 次
  • 性别: 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 8个最基础demo

    这个词是在Java applet的环境中创造的,Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。 服务器上需要一些程序,常常是...

    servlet-api下载

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

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

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

    servlet 文件上传下载例子

    java 写的文件上传下载的例子,可以做简单图片文件服务器

    android+servlet服务器

    android客户端+servlet服务器 实现登录验证 记得导入数据库本程序经过本人多次测试,可以用请放心下载

    servlet temple

    可从sun公司的Web站点下载 Java Servlet 开发工具。 下面主要介绍javax.servlet.http提供的HTTP Servlet应用编程接口。  HTTP Servlet 使用一个 HTML 表格来发送和接收数据。要创建一个 HTTP Servlet,请扩展 ...

    servlet-api.jar

    servlet是在服务器上运行的小程序。这个词是在Java applet的环境中创造的。虽然后者已很少被使用,但servlet却发展的很好。是一般面试都会常考的知识。

    Servlet详解与配置

    Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。

    servlet-api

    服务器开发必用。导入httpservletrequest和httpservletresponse所必需资源。上传一个供大家分享使用。

    servlet实现上传下载 java源码

    实现上传下载,服务器用的是tomcat,将注册信息、文件信息写入xml文件中

    Servlet参考手册.zip

    Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些...

    WebLogic平台下部署Servlet与Jsp

    学会在WebLogic平台下部署Servlet与Jsp 二、实验环境 Windows XP 三、实验内容: 1、Weblogic Server的安装和Weblogic管理控制台 1)Weblogic安装 从服务器上下载server813_win32.exe安装 2)创建自己的工作区 ...

    Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)

    第7篇为EJB与Web服务篇,内容包括EJB 3概述、JPA规范Web服务框架XFire等;第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎...

    JSP/Servlet 数据库分页 原理 解析 下载

    JSP/Servlet数据库分页原理解析源码下载,注释详尽、简单易懂 将下载后的压缩文件解压后可以得到page_csdn文件夹,用eclipse导入即可,运行之前请运行page.sql数据库脚本,我使用的是MySQL数据库。 部署到Tomcat...

    servlet笔记

    servlet笔记,用于从前端jsp传递数据到服务器,还有一些需要注意的要点,新手可以看看

    深入Java Servlet网络编程

    第6章 利用Servlet上传和下载文件 6. 1 得到HTTP请求消息的内容 6. 2 利用Servlet得到上传的文件 6. 2. 1 上传文件及表单域的请求实体的分析 6. 2. 2 得到上传文件的编程实例 6. 3 使用Servlet下载文件 6. 3. ...

    java-servlet-api.doc

    Servlet引擎提供网络服务,能够理解MIME请求,并提供一个运行Servlet的容器。 javax.servlet.Servlet接口定义了在Servlet的生命周期中特定时间以及特定顺序被调用的方法。 Servlet的解析和载入 Servlet引擎解析并...

    servlet4 jar

    AJAX 的应用使请求的出现变得频繁,而 Comet 则会长时间占用一个连接,上述的服务器模型在新的应用背景下会变得非常低效,线程池里有限的线程数甚至可能会阻塞新的连接。Jetty 6 Web 服务器针对 AJAX、Comet 应用的...

    android下载服务器(servlet)端文件

    1.Android端包含 源码和界面 分别放到到自己的项目的对应资源中即可运行(java为源码,xml为资源文件)

Global site tag (gtag.js) - Google Analytics