Jasper セットアップ

1. インストール

Jasper アーカイブファイルをディスクに展開します。展開すると japser ディ レクトリが作成され、さらに以下のサブディレクトリが作成されます。
cnf
デフォルトのコンフィグレーションファイルが格納さ れています。
docs
Jasper のドキュメントが格納されています。
lib
Jasper のクラスファイルが格納されています。
logs
サーバのログを格納するためのディレクトリです。
servlet
サーブレットを格納するためのディレクトリです。

2. CLASSPATH の設定

環境変数 CLASSPATH に以下の jar ファイルを追加します。 <install-dir> は、Jasper をインストールしたディレクトリです。

jsdk.jar または servlet.jar はサーブレットを動作させるために必要 になります。jsdk.jar は JSDK 2.0 に、servlet.jar は JSDK 2.1 に含まれています。

3. Jasper の起動

Jasper は以下の要領で起動します。
% java jp.co.distribution.http.server.Jasper <install-dir>/jasper

4. コンフィグレーション

Jasper では、サーバのコンフィグレーションを行うために以下の5つのファ イルが用意されています。 これらのファイルはすべて java.lang.Properties クラスが扱うプロパティファ イルの仕様に従って記述されています。

4.1 server.cnf

HTTP サーバに関する一般的な設定を行うファイルです。以下の項目が設定で きます。
server.port
HTTP サーバのポート番号を指定します。デフォ ルトのポート番号は 80 です。

server.documentRoot
html コンテンツを格納する場所をルー トディレクトリからの相対パスで指定します。デフォルトのパスは docs です。

server.servletRoot
このパスから始まるコンテンツはサーブ レットとみなされます。デフォルトのパスは servlet です。

http://<server-name>/servet/test は test という名前のサーブレットを起動することを表します。ロードされるサー ブレットはルー トディレクトリ下の servlet ディレクトリかまたは現在設定されている クラスパスから検索されます。

起動するサーブレットの設定は、servlet.cnf ファイルで行います。

server.accessLog
アクセスログを出力するファイル名を指 定します。デフォルトのファイル名は access.log です。

server.secure New !
true のとき、セキュリティ上の理由で JSDK 2.1 から deprecated になっ たメソッドを実行しません。

server.cnf の記述例を以下に示します。

server.port=8888 server.documentRoot=www server.servletRoot=servdir server.accessLog=access2.log server.secure=true

4.2 servlet.cnf

起動するサーブレットの設定を行うファイルです。以下の項目が設定できます。
servlet.<servlet-name>.code
<servlet-name>で表わされるサーブレットのクラス名を指定 します。

servlet.<servlet-name>.codebase
サーブレットをロードするベースとなる URL を指定します。例えば "http://" で始まる URL を指定した場合には、ネットワーク経由でサーブ レットがダウンロードされます。本項目が指定されていない場合は、ルー トディレクトリ下の servlet ディレクトリか、またはクラスパスに指 定されたパスからサーブレットがロードされます。

servlet.<servlet-name>.initArgs
サーブレット <servlet-name> の初期パラメータ値を指定し ます。パラメータ値は <name>=<value> の形 式で記述します。複数個の値を指定する場合には "," (カンマ) で区切っ て記述します。

servlet.cnf の記述例を以下に示します。

# test servlet servlet.test.code=TestServlet # hello servlet servlet.hello.code=jp.co.distribution.http.servlet.HelloServlet servlet.hello.initArgs=\ title=Hello!,\ message=Hello World from Servlet # remote hello servlet servlet.rhello.code=RHelloServlet servlet.rhello.codebase=http://192.168.0.2/

上記の TestServlet を起動するには、
http://<server-name>/servlet/test
とします。

4.3 auth.cnf

ユーザ認証に関する設定を行うファイルです。以下の項目が設定できます。
auth.user.<user-name>
認証を行うユーザ <user-name> のパスワードを BASE64 にエンコードされた形式で記述します。BASE64 へのエンコードに は、BASE64Encoder を使用します。

auth.path.<path-name>
ディレクトリ <path-name> にアクセスが可能なユー ザを指定します。複数指定する場合には "," (カンマ)で区切って指定し ます。ディレクトリは、Jasper のドキュメントのルートディレクトリか らの相対パスになります。

auth.cnf ファイルの記述例を以下に示します。

# user and passwd # passwd for yamag is yamag auth.user.yamag=eWFtYWc= # passwd for majiro is majiro auth.user.majiro=bWFqaXJv # directory and users auth.path.private=yamag, majiro

この設定では、ドキュメントのルートディレクトリ(通常は docs)の下にある private ディレクトリ以下について認証を行います。認証の対象となるユー ザは yamag, majiro です。

4.4 mime.cnf

ファイルの MIME Type を設定するためのファイルです。
<extension>=<mimetype>
のように記述します。例を以下に示します。

# text html=text/html htm=text/html text=text/plain

4.5 mimesvlt.cnf

読みこむファイルの MIME Type によって起動するサーブレットを指定するファ イルです。
<mimetype>=<servlet name>
のように記述します。例を以下に示します。

# for GNUJSP application/x-httpd-jsp=gnujsp # default Servlet *=file

上記の例のように <mimetype> にワイルドカード "*" を指定することがで きます。この例の場合、application/x-httpd-jsp 以外の MIME Type はすべて file サーブレットによって起動されます。

5. BASE64Encoder

文字列を BASE64 にエンコードするためのツールです。以下の要領で実行します。
% java jp.co.distribution.misc.BASE64Encoder <string>
これで、引数に指定した文字列が BASE64 にエンコードされ、標準出力に印字さ れます。