ファイル ダウンロード サーブレットの実装
ファイル ダウンロード サーブレットを実装すると、ユーザーは Web アプリケーションからファイルを取得できるようになります。
ファイルのダウンロードを実装する方法:
ファイルのダウンロードを有効にするには、ダウンロード エンドポイントとして機能するサーブレットを作成し、それを web.xml 内の特定の URL にマップします。
サーブレットの例:
DownloadServlet.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DownloadServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Get the file ID from the request String id = request.getParameter("id"); // Fetch file metadata from the database String fileName = ""; String fileType = ""; // Set the response content type based on file type response.setContentType(fileType); // Set the content disposition header to prompt download response.setHeader("Content-disposition", "attachment; filename=yourcustomfilename.pdf"); // Create a File object using the file path File file = new File(fileName); // Stream the file to the client InputStream in = new FileInputStream(file); OutputStream out = response.getOutputStream(); // Copy file content in chunks byte[] buffer = new byte[4096]; int length = 0; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } in.close(); out.flush(); } }
サーブレットの doGet メソッドでは、次のようにします:
web.xml のマッピング:
<servlet> <servlet-name>DownloadServlet</servlet-name> <servlet-class>com.myapp.servlet.DownloadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DownloadServlet</servlet-name> <url-pattern>/download</url-pattern> </servlet-mapping>
この設定により、ユーザーは、 /download?id=
以上がJava でファイル ダウンロード サーブレットを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。