Webサイトからテキストファイルをダウンロードするサーブレットコード– Java
以下は、Webサイトからテキストファイルをダウンロードするサーブレットコードの例です。
例えば
「testing.txt」という名前のテキストファイルを考えてみましょう。ユーザーにURL(「http:// localhost:8080 / servlet / DownloadDemo」など)でダウンロードさせたいとします。
1. 「testing.txt」という名前のテキストファイルを作成し、プロジェクトルートフォルダーに配置します。
\--servlet (project root folder) \--testing.txt (download file here) \--WEB-INF \--web.xml
2. サーブレットコード
package com.example; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.ServletContext; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletDownloadDemo extends HttpServlet{ private static final int BYTES_DOWNLOAD = 1024; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{ response.setContentType("text/plain"); response.setHeader("Content-Disposition", "attachment;filename=downloadname.txt"); ServletContext ctx = getServletContext(); InputStream is = ctx.getResourceAsStream("/testing.txt"); int read=0; byte[] bytes = new byte[BYTES_DOWNLOAD]; OutputStream os = response.getOutputStream(); while((read = is.read(bytes))!= -1){ os.write(bytes, 0, read); } os.flush(); os.close(); } }
Note
Webアプリケーションのルートを表すスラッシュ(「/」)を使用した「getResourceAsStream()」メソッド。
3. Webデプロイメント記述子
serlvetdemo ServletName com.example.ServletDownloadDemo ServletName /DownloadDemo
4. コンパイルしてTomcatフォルダーにコピーします
\--Tomcat \--webapps \--servlet \-- testing.txt (download file) \--WEB-INF \--web.xml \--classes \--com \--example \--ServletDownloadDemo.class
4. 完了し、URLhttp://localhost:8080/servlet/DownloadDemoにアクセスすると、テキストファイルを自動的にダウンロードするようにユーザーに求められます。
Note
このfile download example in Struts 1.xに興味があるかもしれません