openGionopenGion
5.6.7.0

org.opengion.hayabusa.servlet
クラス FileDownload

java.lang.Object
  上位を拡張 javax.servlet.GenericServlet
      上位を拡張 javax.servlet.http.HttpServlet
          上位を拡張 org.opengion.hayabusa.servlet.FileDownload
すべての実装されたインタフェース:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class FileDownload
extends javax.servlet.http.HttpServlet

サーバー管理ファイルをダウンロードする場合に使用する、サーブレットです。 引数(URL)に指定のファイルをサーバーからクライアントにダウンロードさせます。 file には、サーバーファイルの物理アドレスを指定します。相対パスを使用する場合は、 コンテキストルート(通常、Tomcatでは、G:\webapps\dbdef2\ など)からのパスと判断します。 name には、クライアントに送信するファイル名を指定します。ファイル名を指定しない場合は、 サーバーの物理ファイルのファイル名が代わりに使用されます。 日本語ファイル名は、すべて UTF-8化して処理します。指定するファイルに日本語が含まれる 場合は、URLエンコードを行ってください。 ファイル名の指定に、Content-disposition 属性を使用していますが、Internet Explorer の 仕様で、attachment で指定すると開くボタンが使えません。("ファイル名" が見つかりません。) この実装では、inline を使用するため、新たな画面で開きたい場合は、リンクにターゲット属性を 指定してください。 http://support.microsoft.com/?scid=kb;ja;436605&spid=2073&sid=269 基本的には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,

コンストラクタの概要
FileDownload()
           
 
メソッドの概要
 void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          GET メソッドが呼ばれたときに実行します。
 void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.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()
メソッドの詳細

doGet

public void doGet(javax.servlet.http.HttpServletRequest request,
                  javax.servlet.http.HttpServletResponse response)
           throws javax.servlet.ServletException,
                  java.io.IOException
GET メソッドが呼ばれたときに実行します。 処理は、doPost へ振りなおしています。

オーバーライド:
クラス javax.servlet.http.HttpServlet 内の doGet
パラメータ:
request - HttpServletRequestオブジェクト
response - HttpServletResponseオブジェクト
例外:
javax.servlet.ServletException
java.io.IOException
変更履歴:
3.8.1.2 (2005/12/19) 半角カナ-全角カナ変換機能の追加

doPost

public void doPost(javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response)
            throws javax.servlet.ServletException,
                   java.io.IOException
POST メソッドが呼ばれたときに実行します。 file 引数の サーバー物理ファイルを、クライアントにストリーム化して返します。 name 引数があれば、その名前のファイル名でクライアントがファイルセーブできるように します。name 引数がなければ、そのまま物理ファイル名が使用されます。 サーバー物理ファイル名が、相対パスの場合、コンテキストルートに対する相対パスになります。 (例:G:\webapps\dbdef2\ など)

オーバーライド:
クラス javax.servlet.http.HttpServlet 内の doPost
パラメータ:
request - HttpServletRequestオブジェクト
response - HttpServletResponseオブジェクト
例外:
javax.servlet.ServletException
java.io.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を指定することで、インライン表示が出来るように対応

openGion 5.6.7.0

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