protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.设置响应类型
response.setContentType("application/octet-stream;charset=UTF-8");
//2,获取输出流
OutputStream out=response.getOutputStream();
//获取浏览器
String browser=request.getHeader("User-Agent");
//防止乱码IE
String filename=URLEncoder.encode("学生列表","UTF-8");
//火狐
if(browser.toLowerCase().contains("firefox")){
filename=new String("学生列表".getBytes("UTF-8"),"ISO8859-1");
}
//设置附件文件下载的名字
response.setHeader("Content-Disposition","attachment;filename="+filename+".xls");
//指定的文件
InputStream is=new FileInputStream("d:/student.xls");
//缓存字节流
byte[] buff=new byte[256];
int len;
//每一组读取文件的256字节,len长度,后面要截取
while((len=is.read(buff))!=-1){
//buff代表每组256,多出来的空白,用截取0-最后一个字
out.write(buff,0,len);
}
//将缓存的字节都强行输出
out.flush();
is.close();
}