实现文件的下载源代码如下:

package com.fxl.servlet;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;

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

public class Servlet2 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
//演示下载文件
response.setHeader("Content-Disposition", "attachment;filename=1.docx");

//打开文件。
//1 获取要下载文件的全路径
String path=this.getServletContext().getRealPath("/1.docx");
//2 创建文件输入流
FileInputStream fis=new FileInputStream(path);
//做一个缓存字节数组
byte buff[]=new byte[1024];
int len=0;//表示实际每次读取了多少个字节
OutputStream os=response.getOutputStream();
while((len=fis.read(buff))>0){
os.write(buff,0,len);

}
//关闭
os.close();
fis.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

this.doGet(request, response);
}

}

如果要下载图片,MP3,视频,只需要修改斜体部分即可。

在浏览器中输入http://localhost:8080/ch08/Servlet2

运行结果如下:(点击下载即可下载的指定目录下)

最新文章

  1. 转载:Centos7 从零编译Nginx+PHP+MySql 二
  2. 使用Docker搭建Java Web运行环境
  3. matlab中实现Gabor滤波器
  4. Linux就这个范儿 第19章 团结就是力量 LSB是Linux标准化基地(Linux Standards Base)的简称
  5. Sql Server 2005 开发版亲測可用下载地址
  6. (转)JSON对象长度和遍历方法
  7. java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇
  8. javascript 回调函数应用
  9. cocos坐标系及坐标转换
  10. iOS 10.0之前和之后的Local Notification有神马不同
  11. ASP.NET中直接用C# 动态修改CSS样式
  12. [翻译]60,000毫秒内对Linux进行性能诊断
  13. unset MAILCHECK
  14. stl源码剖析 详细学习笔记 RB_tree (2)
  15. {{jQuery源码分析}}jQuery对象初始化的多种传参数形式
  16. Tomcat介绍 安装jdk 安装Tomcat
  17. 百度前端学院js课堂作业合集+分析(更新中...)
  18. require('nw.gui') 失效问题
  19. 【agc019F】Yes or No
  20. nats

热门文章

  1. Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份
  2. Java多线程编程——进阶篇二
  3. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
  4. 06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档
  5. C语言中执行到预编译
  6. JSON下
  7. R----dplyr包介绍学习
  8. Java中byte与16进制字符串的互相转换
  9. 【leetcode❤python】 400. Nth Digit
  10. 富文本常用封装(NSAttributedString浅析)