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 でアクセスします。
- 関連項目:
- 直列化された形式
- 変更履歴:
3.8.1.1 (2005/11/21) 新規追加 |
- 機能分類
- その他機能
- バージョン
- 0.9.0 2000/10/17
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK1.1,
クラス 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()
doGet
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,
IOException
- GET メソッドが呼ばれたときに実行します。
処理は、doPost へ振りなおしています。
- オーバーライド:
- クラス
HttpServlet
内の doGet
- パラメータ:
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\ など)
- オーバーライド:
- クラス
HttpServlet
内の doPost
- パラメータ:
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 変更 |
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.