1.JSP 代码
<a href="fileDownloadServlet">Down File</a>
2.Servlet 代码
@WebServlet("/fileDownloadServlet")
public class FileDownloadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("download file...");
//1.设置响应类型,告诉客户端浏览器这是一个需要下载的文件,而不是直接打开
response.setContentType("application/x-msdownload");
String fileName = "新建文本文档.txt";
//2.设置响应头,告诉客户端浏览器这是需要用户自行处理的文件,同时告诉客户端响应编码为utf-8
response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(fileName, "utf-8"));
String txtFileName = "C:\\Users\\TJ\\Desktop\\新建文本文档.txt";
OutputStream out = response.getOutputStream();
InputStream in = new FileInputStream(txtFileName);
byte [] buffer = new byte[1024];
int len = 0;
while((len = in.read(buffer))!= -1){
out.write(buffer,0,len);
}
in.close();
}
}