public class BatchDownloadServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment;filename=test.zip");
String path = getServletContext().getRealPath("/")+"images/";
String[] filenames = request.getParameterValues("filename");
String str = "";
String rt = "\r\t";
ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
for(String filename:filenames){
str+=filename+rt;
File file = new File(path+filename);
zos.putNextEntry(new ZipEntry(filename));
FileInputStream fis = new FileInputStream(file);
byte[] b = new byte[1024];
int n = 0;
while((n=fis.read(b))!=-1){
zos.write(b, 0, n);
}
zos.flush();
fis.close();
}
zos.setComment("download success:"+rt+str);
zos.flush();
zos.close();
}
}