package com.future.zfs.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") public class FileDownLoadServlet extends HttpServlet{ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path=request.getParameter("filename"); path=new String(path.getBytes("ISO-8859-1"),"utf-8"); download(path,request,response); } @SuppressWarnings("deprecation") public HttpServletResponse download(String path,HttpServletRequest request, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(request.getRealPath("/")+"/"+path); // 取得文件名。 String filename = file.getName(); // 取得文件的后缀名。 //String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase(); // 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(file)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); // 设置response的Header response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("utf-8"),"ISO-8859-1")); response.addHeader("Content-Length", "" + file.length()); OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); toClient.write(buffer); toClient.flush(); toClient.close(); } catch (IOException ex) { ex.printStackTrace(); } return response; } }
web.xml
<servlet> <servlet-name>fileDownLoadServlet</servlet-name> <servlet-class>com.future.zfs.util.FileDownLoadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>fileDownLoadServlet</servlet-name> <url-pattern>/fileDownLoadServlet</url-pattern> </servlet-mapping>
<a href="fileDownLoadServlet?filename=通讯录.xls">测试文件下载</a>
相关推荐
基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码...
使用commons-fileupload 做的一个简单的基于servlet的文件上传的例子
文件上传代码 基于servlet文件上传
基于servlet+jsp+mysql实现的javaweb校园车辆管理系统源码+数据库文件.zip 内含演示视频,代码完整下载可用。 基于servlet+jsp+mysql实现的javaweb校园车辆管理系统源码+数据库文件.zip 内含演示视频,代码完整...
servlet学习
用纯servlet技术开发的一个项目,帮你快速了解servlet开发过程,包含oracle脚本文件。
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于Servlet+JSP实现的超市订单管理系统源码+项目说明+数据库sql文件.zip
功能: 发表文章 评论文章 照片上传 权限管理
主要介绍了jsp实现Servlet文件下载的方法,涉及jsp基于Servlet实现文件下载的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
基于servlet的多文件上传的例子,修改下上传路径即可拿来用
基于jsp+servlet的通用型文件信息管理系统源码+数据库文件.zip基于jsp+servlet的通用型文件信息管理系统源码+数据库文件.zip基于jsp+servlet的通用型文件信息管理系统源码+数据库文件.zip基于jsp+servlet的通用型...
本项目是一套基于servlet和jsp实现的学生信息管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本、软件工具等,该项目附带全部源码可作为...
使用servlet实现简易文件上传,带有进度条
基于servlet+jsp的图书管理系统,包含数据sql和说明文档,基于idea开发,下载请配置开发环境,images有运行截图。readME有项目说明
java实现利用HTTP基于servlet上传文件至服务器.pdf
基于servlet2.5 + JDk1.6实现的文件上传和下载功能的简单示例代码。
本代码包是基于Servlet的用户登录界面的一个操作,里面包含了用户登录界面的HTML文件,并且使用了C3P0和MySql,是学生管理系统的最基础也是最开端的东西。
基于servlet的个人信息管理系统,包含数据库文件,运行演示:http://39.108.131.81:8080/PIMS/login.jsp
本源码为基于Servlet和JSP的网上订餐管理系统设计,共包含511个文件,其中js文件146个,class文件54个,html文件52个,css文件40个,less文件28个,scss文件28个,java文件27个,jar文件26个,jsp文件18个,xml文件...
该博客系统是一个基于Servlet技术开发的Web应用,旨在提供一个简单而功能完备的博客平台。用户可以注册账户、发布博客文章。整个系统使用Java Servlet技术作为后端处理逻辑,并采用MVC(Model-View-Controller)架构...