JAVA WEB用Servlet實現下載文件功能

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>

演示結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章