ウェブサイトからテキストファイルをダウンロードするサーブレットコード - Java

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に興味があるかもしれません