Jasper セットアップ
1. インストール
Jasper アーカイブファイルをディスクに展開します。展開すると japser ディ
レクトリが作成され、さらに以下のサブディレクトリが作成されます。
- cnf
- デフォルトのコンフィグレーションファイルが格納さ
れています。
- docs
- Jasper のドキュメントが格納されています。
- lib
- Jasper のクラスファイルが格納されています。
- logs
- サーバのログを格納するためのディレクトリです。
- servlet
- サーブレットを格納するためのディレクトリです。
2. CLASSPATH の設定
環境変数 CLASSPATH に以下の jar ファイルを追加します。
- <install-dir>/jasper/lib/jasper.jar
- <install-dir>/jasper/lib/gnujsp.jar (GNUJSP
を利用する場合)
- jsdk.jar (JSDK 2.0 の場合)
- servlet.jar (JSDK 2.1 の場合)
※<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 にエンコードされ、標準出力に印字さ
れます。