文件下载
public class DownLoadServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println(1234567890); //获取资源的路径 // String realPath = this.getServletContext().getRealPath("/1.png"); String realPath = "E:\\Intellij\\我的项目 集合\\responsedownload\\target\\classes\\1.png"; //获取资源名称 String fileName = realPath.substring(realPath.lastIndexOf("/") + 1); //fileName = "1.png"; //设置下载的头 //resp.setHeader("Content-Disposition", "attachment;filename="+new String(fileName.getBytes("gb2312"), "ISO-8859-1")); resp.setHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName,"utf-8")); //获取下载文件的输入流 FileInputStream in = new FileInputStream(realPath); int len = 0; //缓存区 byte[] buffer = new byte[1024]; //获取Output的Stream流 ServletOutputStream out = resp.getOutputStream(); while((len = in.read(buffer))>0){ out.write(buffer,0,len); } //关闭流 out.close(); in.close(); } }
配置servlet
<servlet> <servlet-name>download</servlet-name> <servlet-class>com.cai.servlet.DownLoadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>download</servlet-name> <url-pattern>/down</url-pattern> </servlet-mapping>