//文件下载的servlet
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class downloadfile extends httpservlet {
private static final string content_type = "text/html; charset=gbk";
//initialize global variables
public void init() throws servletexception {
}
//process the http post request
public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {
response.setcontenttype(content_type);
string pathsavefile;//要下载的文件
string filename;//保存窗口中显示的文件名
filename=response.encodeurl(new string(filename.getbytes(),"iso8859_1"));//转码
try
{
response.reset();
response.setcontenttype("application/octet-stream");
response.setheader("content-disposition", "attachment; filename=\""+filename+"\"");
servletoutputstream out = response.getoutputstream();
inputstream instream=new fileinputstream(pathsavefile);
//循环取出流中的数据
byte[] b = new byte[1024];
int len;
while((len=instream.read(b)) >0)
out.write(b,0,len);
}
out.close();
instream.close();
}
catch (exception e)
{
system.out.println(e);
}
}
//clean up resources
public void destroy() {
}
}
