1、html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>下载文件功能</title>
</head>
<body>
<a href="downFile?action=四级综合5.pptx">
<input type="button" value="下载">
</a>
</body>
</html>
2、Servlet文件
package down;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取客户端要下载的文件名
String suffix = request.getParameter("action");
//创建服务器字节输入流
InputStream in = new FileInputStream("filePath" + suffix);
//创建客户端字节输出流
OutputStream out = response.getOutputStream();
//将服务器端文件写入客户端
int b;
while((b = in.read()) != -1) {
out.write(b);
}
//关闭输入/出流
out.close();
in.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
3、web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>downFile</servlet-name>
<servlet-class>down.downfile</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>downFile</servlet-name>
<url-pattern>/downFile</url-pattern>
</servlet-mapping>
</web-app>
演示结果: