org.opengion.hayabusa.servlet

## クラス FileDownload

- java.lang.Object
- - javax.servlet.GenericServlet
  - - javax.servlet.http.HttpServlet
    - - org.opengion.hayabusa.servlet.FileDownload

- すべての実装されたインタフェース:
    Serializable, Servlet, ServletConfig

      public class FileDownload
      extends HttpServlet

       サーバー管理ファイルをダウンロードする場合に使用する、サーブレットです。

       引数(URL)に指定のファイルをサーバーからクライアントにダウンロードさせます。
       file には、サーバーファイルの物理アドレスを指定します。相対パスを使用する場合は、
       コンテキストルート(通常、Tomcatでは、G:\webapps\dbdef2\ など)からのパスと判断します。
       name には、クライアントに送信するファイル名を指定します。ファイル名を指定しない場合は、
       サーバーの物理ファイルのファイル名が代わりに使用されます。
       日本語ファイル名は、すべて UTF-8化して処理します。指定するファイルに日本語が含まれる
       場合は、URLエンコードを行ってください。
       基本的にはContent-disposition属性として"attachment"が指定されます。
       但し、引数に inline=true を指定することで、Content-disposition属性に"inline"が指定されます。
       また、システムリソースのUSE_FILEDOWNLOAD_CHECKKEYをtrueに指定することで、簡易的なチェックを
       行うことができます。
       具体的には、これを有効にすると、file属性の値から計算されるMD5チェックサムと、"key"という
       パラメーターに指定された値が一致した場合のみダウンロードが許可され、keyが指定されていない、
       または値が異なる場合はダウンロードエラーとなります。

       一般的なサーブレットと同様に、デプロイメント・ディスクリプタ WEB-INF/web.xml に、
       servlet 要素と そのマッピング(servlet-mapping)を定義する必要があります。

           <servlet>
               <servlet-name>fileDownload</servlet-name>
               <servlet-class>org.opengion.hayabusa.servlet.FileDownload</servlet-class>
           </servlet>

           <servlet-mapping>
               <servlet-name>fileDownload</servlet-name>
               <url-pattern>/jsp/fileDownload</url-pattern>
           </servlet-mapping>

       一般には、http://:ポート/システムID/jsp/fileDownload?file=サーバー物理ファイル&name=ファイル名
       形式のURL でアクセスします。

       5.8.1.0 (2014/11/07)
       forwardでアクセスする場合はファイル名の文字コード変換が不要なため、useStringConvert=falseの
       引数を与えてください。（falseとしない場合は日本語ファイル名等でエラーが発生します）

  関連項目:
    直列化された形式
  変更履歴:

    3.8.1.1 (2005/11/21) 新規追加

  機能分類
    その他機能
  バージョン
    0.9.0 2000/10/17
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.1,

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `FileDownload()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `doGet(HttpServletRequest request, HttpServletResponse response)` GET メソッドが呼ばれたときに実行します。
    `void` | `doPost(HttpServletRequest request, HttpServletResponse response)` POST メソッドが呼ばれたときに実行します。

    - ### クラスから継承されたメソッド javax.servlet.http.HttpServlet

      `doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service`

    - ### クラスから継承されたメソッド javax.servlet.GenericServlet

      `destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### FileDownload

          public FileDownload()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### doGet

          public void doGet(HttpServletRequest request,
                            HttpServletResponse response)
                     throws ServletException,
                            IOException

      GET メソッドが呼ばれたときに実行します。 処理は、doPost へ振りなおしています。
      オーバーライド:
        `doGet` クラス内 `HttpServlet`
      パラメータ:
        `request` - HttpServletRequestオブジェクト
        `response` - HttpServletResponseオブジェクト
      例外:
        `ServletException` - サーブレット関係のエラーが発生した場合、throw されます。
        `IOException` - 入出力エラーが発生したとき
      変更履歴:

        3.8.1.2 (2005/12/19) 半角カナ-全角カナ変換機能の追加

    - #### doPost

          public void doPost(HttpServletRequest request,
                             HttpServletResponse response)
                      throws ServletException,
                             IOException

      POST メソッドが呼ばれたときに実行します。 file 引数の サーバー物理ファイルを、クライアントにストリーム化して返します。 name 引数があれば、その名前のファイル名でクライアントがファイルセーブできるように します。name 引数がなければ、そのまま物理ファイル名が使用されます。 サーバー物理ファイル名が、相対パスの場合、コンテキストルートに対する相対パスになります。 (例：G:\webapps\dbdef2\ など)
      オーバーライド:
        `doPost` クラス内 `HttpServlet`
      パラメータ:
        `request` - HttpServletRequestオブジェクト
        `response` - HttpServletResponseオブジェクト
      例外:
        `ServletException` - サーブレット関係のエラーが発生した場合、throw されます。
        `IOException` - 入出力エラーが発生したとき
      変更履歴:

        5.3.2.0 (2011/02/01) 日本語ファイル名が正しく処理できないバグを修正
        5.3.4.0 (2011/04/01) IEでファイルが正しくダウンロードできないバグを修正
        5.3.5.0 (2011/05/01) ファイルダウンロードチェックキー対応
        5.3.6.0 (2011/06/01) ファイルダウンロードはattachmentに変更(ダウンロードダイアログを出す)
        5.3.8.0 (2011/08/01) ファイル名指定でIEの場合、URLエンコードすると途中で切れるため(IE7のバグ)、Shift_JIS(WIndows-31J)で直接指定する。
        5.3.9.0 (2011/09/01) 引数にinline=trueを指定することで、インライン表示が出来るように対応
        5.7.1.2 (2013/12/20) 日本語ファイルのIE11対応（UA変更）,msg ⇒ errMsg 変更
        5.8.1.0 (2014/11/07) forward時の文字コード変換不要対応

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.