java的servlet是可以做下载的
需要使用response.setHeader(“content-Disposition”, "attachment;filename=‘filename’ ");
’filename’是填写需要下载的文件名称
//打开文件,说明一下web站点下载文件的原理
//1.获取到要下载文件的全部路径
String path=this.getServletContext().getRealPath("image/1.gif");
//2.创建一个文件输入流
FileInputStream fis=new FileInputStream(path);
//做一个缓冲字节数组
byte buff[] =new byte[1024];
int len=0; //len表示每一次读取了多少个字节
OutputStream os=response.getOutputStream();
//每秒输出多少字节
while((len=fis.read(buff))>0) {
os.write(buff, 0, len);
}
os.close();
fis.close();
这里需要注意一下,response.getWriter()和response.getOutputStream()这两个方法是冲突的
详解请看这里:getOutputStream和getWriter在servlet中的区别