@WebServlet(name = "DownloadServlet", value = "/DownloadServlet")
public class DownloadServlet extends HttpServlet {
//如何将服务器上的资源返回给浏览器
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String filename = request.getParameter("filename");
//如何通知浏览器不要预览,而是下载文件
String mimeType = this.getServletContext().getMimeType(filename);//得到mime类型
response.setContentType(mimeType);
response.setHeader("Content-Disposition","attachment;filename=" + filename);
//通过ServletContext对象获取文件的绝对路径
String realPath = this.getServletContext().getRealPath("download/" + filename);
InputStream in = new FileInputStream(realPath);
ServletOutputStream outputStream = response.getOutputStream();
//文件拷贝
int len = 0;
byte[] buffer = new byte[1024];
while((len = in.read(buffer)) > 0){
outputStream.write(buffer,0,len);
}
in.close();
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}



