前へ     目次     索引     DocHome     次へ     
iPlanet Web Server, Enterprise Edition サーブレットに関するプログラマーズガイド



付録 A   magnus.conf および obj.conf のサーブレット設定


iPlanet Web Server 6.0 Administration Server は、サーブレットが有効な場合、サーブレットエンジンを読み込むために、magnus.conf ファイルと obj.conf ファイルを自動的に変更します。 サーバマネージャインタフェースを使ってサーブレットの設定に変更を加えるたびに、システムが自動的にこれらのファイルを適切に更新します。

ただし、サーブレットに影響を与える設定に関しては、この付録ではそれを次の節で説明しています。



magnus.confInit 指令

magnus.confInit セクションの以下の指令は、サーブレットエンジンを読み込み、初期化して、サーブレットを有効にします (Windows NT 用)。


Init fn="load-modules" shlib="server_root/bin/https/bin/NSServletPlugin.dll" funcs="NSServletEarlyInit,NSServletLateInit,NSServletNameTrans, NSServletService" shlib_flags="(global|now)"
Init fn="NSServletEarlyInit" EarlyInit=yes
Init fn="NSServletLateInit" LateInit=yes

UNIX の場合の指令は、次のパラメータ以外は同じです。


shlib="server_root/bin/https/lib/libNSServletPlugin.so"


NSServletEarlyInit には、オプションのパラメータ cache_dir (JSP クラスの一時キャッシュディレクトリの位置を指定する) を指定できます。 デフォルトでは、ディレクトリは ClassCache という名前で、サーバルートディレクトリの下に置かれます。

NSServletLateInit には、次のオプションのパラメータを指定できます。

CatchSignals

Java スレッドダンプを記録するかどうかを指定します。 値は、yes または no です。

requestDispatcherNestDepth

RequestDispatcher.forward メソッドおよび include メソッドの入れ子の深さを制御します。 デフォルトの深さは、10 です。 このパラメータは、JSP の forward 呼び出しおよび include 呼び出しの入れ子のレベルにも影響します。 magnus.conf 中の StackSize 指令に適切な値が設定されないと、この深さに任意の値を割り当てることはできません。 このパラメータに任意に高い値を設定すると、スタックオーバーフローやサーバクラッシュの原因になる可能性があります。



obj.conf のオブジェクト





  この節の情報は、古いバージョンのサーブレット (iPlanet Web Server 4.x) にあてはまりますが、推奨されていません。

 



NSServletService には、2 つのオプションのパラメータ servlet="servlet_name"context="context_name" を指定できます。 これらのパラメータによって、特定のサーブレットまたはコンテキストに対応して応答を生成するオブジェクトを、obj.conf に定義できます。 1 つの指令に、1 つまたは両方のパラメータを使用できます。 サーブレットまたはコンテキストは、servlets.properties ファイルまたは contexts.properties ファイルに定義する必要があります。 特定のサーブレットまたは特定のサーブレットコンテキスト、またはその両方に属するオブジェクトを定義できます。 たとえば、次のように、特定のタイプ (ここでは、*.foo) のファイルに特定のサーブレット (ここでは、wasp サーブレット) を割り当てることができます。


<Object name="default">
NameTrans fn=assign-name name=foo from=*.foo
...他の指令...
</Object>

<Object name="foo">
ObjectType fn=force-type type=magnus-internal/servlet
Service fn="NSServletService" servlet="wasp"
</Object>

特定のタイプのファイルを特定のサーブレットに割り当てる別の方法は、次の URL にあるサーブレット 2.2 API 仕様で記述されている web.xml ファイルの servlet-mapping の箇所の説明を参照してください。

http://java.sun.com/products/servlet/index.html

iPlanet Web Server 4.xで、特定のタイプのファイルを特定のサーブレットに割り当てる方法は、「rules.properties での正規表現の使用」を参照してください。

NSServletService の基本的な使用例は、iPlanet Web Server の『NSAPI プログラマーズガイド』の第 2 章「obj.conf の構文と使用法」にある Service の例の説明を参照してください。

サーブレットが有効な場合、次の指令がデフォルトのオブジェクトに追加されます。

NameTrans fn="NSServletNameTrans" name="servlet"

この指令は、サーブレット仮想パス変換および URI キャッシュのために使用されます。 この行は消さないでください。

また、obj.conf には通常、次のオブジェクトがあります。このオブジェクトは削除しないでください。


<Object name="servlet">
ObjectType fn=force-type type=text/html
Service fn="NSServletService"
</Object>

このオブジェクトを削除すると、サーバマネージャインタフェースを使って、サーブレットを有効にしたりサーブレットの設定を変更したりすることができなくなります。

詳細は、iPlanet Web Server の『NSAPI プログラマーズガイド』を参照してください。



登録済みサーブレットディレクトリ用の指令





  この節の情報は、古いバージョンのサーブレット (iPlanet Web Server 4.x) にあてはまりますが、推奨されていません。

 



obj.conf 内のデフォルトのオブジェクトは、すべての要求が、登録済みサーブレットディレクトリにアクセスできるように ServletByExt という名前を割り当てる NameTrans 指令を持っています。 次に例を示します。

NameTrans fn="pfx2dir" from="/servlet" dir="D:/Netscape/Server4/docs/servlet" name="ServletByExt"

ServletByExt という名前の別のオブジェクトは、次のように、サーブレットの要求を処理する命令を持っています。


<Object name="ServletByExt">
ObjectType fn="force-type" type="magnus-internal/servlet"
Service type="magnus-internal/servlet" fn="NSServletService"
</Object>

サーブレットディレクトリが現在登録されていなくても、このオブジェクトは削除しないでください。 このオブジェクトを削除すると、サーバマネージャインタフェースを使ってサーブレットディレクトリを登録できなくなります。



JSP 指令



mime.types の次の行は、拡張子が .jsp のファイルのタイプを設定します。

type=magnus-internal/jsp exts=jsp

obj.conf の次の指令は、 magnus-internal/jsp タイプのファイル (つまり、JSP ファイル) の要求の処理を扱います。 これは、古いバージョンの JSP のためにだけ必要です。

Service fn="NSServletService" type="magnus-internal/jsp"


前へ     目次     索引     DocHome     次へ     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated September 17, 2001