Developer'sWorks
Tips

ファイルのアップロード/ダウンロードのサンプル

Jakarta Commmonsとは?

Jakarta Commonsとは、Jakartaプロジェクト内で作成されているJava コンポーネント郡です。
Javaプログラムの作成時に便利な各種のコンポーネントが提供されており
Webtribe/VisualFrameでのビジネスルール作成にも用いることが出来ます。

このTipsではJakarta-CommonsのHttpClient、FileUploadを用いてファイルの送受信を行うビジネスルール、
サーブレットの作成サンプルを提供しています。

HttpClientは クライアントよりHTTP通信を行うためのクラスが提供されており、URLConnectionでは
対応出来なかったHTTP通信の機能を使用することが出来ます。

FileUploadは、RFC1867("Form-based File Upload in HTML")で規定されている方式に従い、
クライアントから送信されてきたMultipart形式の ファイル情報を操作できるクラスが提供されています。

なお、このTipsの内容に関しましてはサポート対象外となりますので ご了承下さい。

環境のセットアップ

モジュールの取得

http://jakarta.apache.org/commons/より、処理に必要なJARファイルを
ダウンロードして下さい。
今回使用するモジュールはHttpClient FileUploadですが、HttpClientは実行にJakartaCommons Loggingを
使用してますので、Loggingもダウンロードして頂く必要があります。

また、サンプルとして提供をしているFileTransfer.zipをダウンロードしてください。
FileTransfer.zip
        |
        |
        +-------- lib
        |          |
        |          |
        |          +--FileTransferServlet.jar
        |          |
        |          +--FileTransferRule.jar
        |
        |
        +-------- src
        |
        +-------- JavaDoc
        |          
        +-------- web.xml.sample.txt
        |
        +-------- RunClientConstatns.wdg.sample.txt

各種ファイル、フォルダの説明

サーブレットのセットアップ

以下 Jarakta-Tomcat4.1を用いたサーブレットのセットアップ手順を記述しています。

[TOMCAT ROOT]\webapps\[プロジェクト名]\lib フォルダ内に、
解凍したzipに含まれるFileTransferServlet.jarと、
Jakarta-Commons FileUploadに含まれるcommons-fileupload-xxxxx.jarを
コピーして下さい。


その後 [TOMCAT ROOT]\webapps\[プロジェクト名]\WEB-INF\web.xml 内に、下記記述を追加します。

    <servlet>
        <servlet-name>FileUploadServlet</servlet-name>
        <servlet-class>jp.ne.mki.unofficial.filetransfer.server.FileUploadServlet</servlet-class>
        <init-param>
           <param-name>UploadDirectory</param-name>
           <param-value>[アップロードファイルを格納するディレクトリ]</param-value>
        </init-param> 
    </servlet>
    <servlet>
        <servlet-name>FileDownloadServlet</servlet-name>
        <servlet-class>jp.ne.mki.unofficial.filetransfer.server.FileDownloadServlet</servlet-class>
        <init-param>
           <param-name>DownloadDirectory</param-name>
           <param-value>[ダウンロードファイルを格納するディレクトリ]</param-value>
        </init-param> 
    </servlet>

    <servlet-mapping>
        <servlet-name>FileUploadServlet</servlet-name>
        <url-pattern>/servlet/jp.ne.mki.unofficial.filetransfer.server.FileUploadServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>FileDownloadServlet</servlet-name>
        <url-pattern>/servlet/jp.ne.mki.unofficial.filetransfer.server.FileDownloadServlet</url-pattern>
    </servlet-mapping>

クライアントのセットアップ

[WEDGE CLIENT]\lib\フォルダ内に、
解凍したzipに含まれるFileTransferRule.jarと、
Jakarta-Commons HttpClientに含まれるcommons-httpclient-xxxxx.jar、
及び Jakarta-Commons Loggingに含まれるcommons-logging.jarを
コピーして下さい。


その後 [WEDGE CLIENT]\RunClient.bat のクラスパスにこれらのjarファイルを追加します。

各種クラスの説明

ビジネスルールの説明

サーブレットの説明

なお、各クラスの詳細に関しましては JavaDocを参照下さい。
-- 2004/08/02 Update