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>
演示結果: