この節では、iPlanet Web Server での Java Servlet および JavaServer Pages のインストール方法と使用方法について説明します。
この節の内容は次のとおりです。
Servlet と JavaServer Pages の概要
iPlanet Web Server では、Java Servlet と JSP (JavaServer Pages) がサポートされています。
Java Servlet はサーバサイドの Java プログラムであり、CGI プログラムと同じように Web サーバの機能拡張に使うことができます。Servlet は、インターフェイスなしでサーバサイドで動作するアプレットとして考えることができます。Servlet は、URL の呼び出しによって起動します。iPlanet Web Server では、JSDK (Java Servlet Development Kit) 2.2.1 PR レベルの JavaSoft の Servlet API がサポートされています。
Servlet を開発するには、Sun Microsystems の Java Servlet API を使います。Java Servlet API の使用法については、Sun Microsystems から提供されているドキュメントを参照してください。URL は次のとおりです。
iPlanet Web Server で使う Servlet の開発については、『Programmer's
Guide to Servlets in iPlanet Web Server』を参照してください。
JSP は、HTML ページに似たページで、Web ブラウザに表示することができます。ただし、JSP には HTML タグだけでなく一連の JSP タグを含めることができるので、Web ページの設計者はページにダイナミックなコンテンツを組み込むことができます。これらのタグには、プロパティ値の表示、簡単なコンディションの使用などの機能があります。iPlanet Web Server では、JSP API 1.0 準拠レベルの JSP がサポートされています。
JSP の作成方法については、次の Sun Microsystems の JSP の Web ページを参照してください。
サーバでの Servlet と JSP の実行に必要な要素
iPlanet Web Server には、JRE (Java Runtime Environment) は含まれていますが、JDK (Java Development Kit) は含まれていません。サーバは、JRE を使って Servlet を実行できますが、JSP の実行には JDK が必要です。JSP を実行するには、カスタムの JDK を使うように iPlanet Web Server に指定する必要があります。
iPlanet Web Server 4.1 では、正式バージョンの JDK を使う必要があります。表
11.1のように、プラットフォームによって異なるバージョンが必要となります。
必要な JDK バージョンの最新情報については、『iPlanet Web Server インストールおよび移行ガイド』と最新の『Release Notes』を参照してください。
JDK 1.2 (および他の JDK バージョン) は次の Sun Microsystems の Web サイトから入手することができます。
JDK へのパスは、次のいずれかの方法で指定します。
JDK のパスをインストール時に指定する場合も、インストール後に指定する場合も、パスは、JDK をインストールしたフォルダです。
Servlet と JSP の有効化
iPlanet Web Server で Servlet を実行するには、その前に Servlet エンジンを有効にする必要があります。サーバで JSP を処理するには、その前に Servlet エンジンと JSP を有効にする必要があります(Servlet が有効でないと、JSP はサーバで 処理されません)。
iPlanet Web Server で Servlet と JSP を有効または無効にするには、サーバ マネージャの [Servlets] タブの「Enable/Disable Servlets/JSP」ページを使います。このページで、Servlet と JSP を有効または無効にすることができます。Servlet が無効であると、JSP を有効にすることはできません。
Servlet が有効であれば、JSP を有効または無効にすることができます。ただし、Servlet を無効にすると、JSP も自動的に無効になります。この場合、後で Servlet を有効にするときは、JSP も再度有効にする必要があります。
また、Servlet 用のスレッド プールを定義することもできます。どのサーバ サブシステムでも、Servlet を実行するスレッド プールを指定することができます。スレッド プールについては、スレッド プールの追加と使用を参照してください。
JSP をクライアントから使用可能にする
JSP ファイルは、ドキュメント ルート下の任意のディレクトリにそれを単に配置するだけでインストールすることができます。次の条件を満たしている限り、特別な操作は必要ありません。
-
iPlanet Web Server で JDK の使用が指定されている。
-
サーバで Servlet と JSP の両方が有効である。
Servlet をクライアントから使用可能にする
Servlet については、次の 2 通りの方法で、Servlet をクライアントからアクセス可能にすることができます。
-
Servlet ディレクトリとして iPlanet Web Server に登録されたディレクトリに、Servlet のクラス ファイルを配置する方法。詳細については、Servlet ディレクトリの指定を参照してください。
-
Servlet の仮想パス変換を定義する方法。この場合、Servlet のクラスは、ファイル システム内の任意の位置への配置が可能なので、リモート マシンに配置することもできます。詳細については、Servlet 仮想パス変換の設定を参照してください。
これらのオプションを両方とも選択することもできます。Servlet ディレクトリを指定し、このディレクトリ以外にある Servlet に対して仮想パス変換を定義することができます。
Servlet ディレクトリの指定
クライアントから Servlet をアクセス可能にする方法の 1 つに、Servlet ディレクトリとして iPlanet Web Server に登録されたディレクトリに Servlet を配置する方法があります。登録された Servlet ディレクトリ内の Servlet は、必要に応じてダイナミックに読み込まれます。サーバで Servlet のファイルがモニタされ、変更されるとすぐに自動的に再読み込みが行われます。
たとえば、サーバのドキュメント ルート ディレクトリの servlet サブディレクトリ内に SimpleServlet.class という Servlet がある場合、Web ブラウザで次のように指定すると Servlet を起動することができます。
iPlanet Web Server では、任意の数の Servlet ディレクトリを登録することができます。初期状態の Web サーバには、サーバ インスタンスごとに、server_id/docs/servlet/ という Servlet ディレクトリが 1 つあります。
iPlanet Web Server では、登録された Servlet ディレクトリ内のファイルはすべて Servlet と見なされます。このディレクトリ内の .class 拡張子を持つすべてのファイル (アプレットを含む)は Servlet として処理されます。iPlanet Web Server では、このディレクトリ内の他のファイル (HTML ファイルや JSP など) は正しく処理されません。
サーバには、複数の Servlet ディレクトリを登録することができます。これらのディレクトリはすべて、ディレクトリ階層のプライマリ ドキュメント ディレクトリ下に配置する必要があります。必要であれば、Servlet ディレクトリを仮想ディレクトリに割り当てることができます。たとえば、http://my_domain.com/products/ から、ディレクトリ server_id/docs/servlet/january/products/servlets/ 内の Servlet が起動するように指定することができます。
Servlet ディレクトリを登録し、URL プレフィックスを指定するには (仮想であるかどうかにかかわらず)、サーバ マネージャの [Servlets] タブの「Servlet Directory」ページを使います。次のフィールドを設定します。
[URL Prefix]
ディレクトリにアクセスするためのプレフィックス。たとえば、論理 URL http://servername/plans を、ディレクトリ d:/netscape/server4/docs/plans に変換するには、[URL Prefix]フィールドに「plans」と入力します。
[Servlet Directory]
Servlet ディレクトリとして登録するディレクトリの絶対パス名。たとえば、d:/netscape/server4/docs/plans。iPlanet Web Server では、そのディレクトリ内のすべてのファイルが Servlet として扱われます。
ノート
デフォルトでは、リダイレクトされる URL は常にエスケープされます。これを防ぐには、「escape="no"」と追加します。 例は次のとおりです。
グローバル属性の設定
Servlet には、次のようなグローバル属性を設定することができます。
-
サーバ起動時に実行する Servlet。
-
Servlet に使うセッション マネージャ。
-
Servlet に使うセッション マネージャ Args (引数)。
-
Servlet が変更された場合にサーバが Servlet の再読み込みを行うまでの時間。
グローバル属性を設定するには、サーバ マネージャの [Servlets] タブの 「Configure Global Servlet Attributes」ページを使います。次のフィールドを設定します。
[Startup Servlets]
このフィールドには、Web サーバの起動時に読み込む Servlet の名前を入力します。.class 拡張子の入力は不要です。
[Session Manager]
セッション マネージャ クラスがある場合は、その値をこのフィールドに入力します。
[Session Manager
Args] セッション マネージャの引数を指定する場合は、このフィールドに入力します。複数の
name=value パラメータはカンマで区切ります。入力は、name=value,name2=value2....
の形式で行います。詳細については、『Programmer's Guide to
Servlets for iPlanet Web Server』の付録 A「Session Managers」を参照してください。
[Reload Interval]
Servelet や JSP が変更された場合に、サーバが再読み込みを行うまでの時間 (秒単位) です。0〜600 の整数値を指定します。デフォルト値は 5 秒です。
Servlet の属性の設定
Servlet の入力パラメータ、クラスパス、または仮想変換を指定する場合は、Servlet を個別に設定する必要があります。この作業は、サーバ マネージャの [Servlets] タブの「Configure Servlet Attributes」ページで行います。
ノート 「Configure Servlet Attributes」ページで Servlet を設定すると、Servlet は iPlanet
Web Server の config ディレクトリ内の servlets.properties ファイル
に自動的に追加されます。
このページでは、次のフィールドを指定することができます。
[Choose Servlet]
編集する Servlet を指定します。仮想パスがまだセットアップされていない場合は、リストは空です。このドロップダウン リストから Servlet を選択すると、ページに Servlet の情報が表示されます。新しい仮想パスのエントリを追加する場合は、このフィールドを無視します。
[Servlet Name]
Servlet の識別子を指定します。この識別子は、iPlanet Web Server の内部で使われ、Servlet にアクセスする URL では使われません。この識別子は、Servlet のクラス名と同じ名前または異なる名前にすることができます。
[Servlet Code (class name)]
Servlet のメイン クラス ファイルの名前を指定します。.class 拡張子は省略可能です。ディレクトリは指定しないでください。
[Servlet Classpath]
Servlet が含まれるディレクトリまたは zip/jar ファイルの絶対パス名または URL です。クラスパスは、ファイル システム内の任意の位置を指すことができます。Servlet のクラスパスには、ディレクトリ、.jar ファイルや .zip ファイル、またはディレクトリへの URL を含めることができます(zip ファイルまたは jar ファイルのクラスパスに URL を指定することはできません) 。Servlet のクラスパスが、登録された Servlet ディレクトリではない場合に、クライアントから Servlet をアクセス可能にするには、Servlet 仮想パス変換を指定する必要があります。詳細については、Servlet 仮想パス変換の設定を参照してください。
iPlanet Web Server では、Servlet のクラスパスに、複数のディレクトリ、jar ファイル、zip ファイル、および URL を指定することができます。
[Servlet Args]
Servlet に他のパラメータがある場合は、このフィールドに入力します。複数の name=value パラメータはカンマで区切ります。入力は、name=value,name2=value2.... の形式で行います。たとえば、「arg1= 45, arg2=online, arg3="quick shopping" 」と入力します。
Servlet 仮想パス変換の設定
クライアントから Servlet を使用可能にする方法の 1 つに、登録された Servlet ディレクトリに Servlet を配置する方法があります。また、Servlet ごとに Servlet の仮想パス変換を定義する方法もあります。たとえば、次の URL から、
次のディレクトリに定義された Servlet が起動されるように指定することができます。
Servlet の仮想パス変換は、ローカルおよびリモートのファイル システムを含めて、登録された Servlet ディレクトリ内外の任意の場所にある Servlet に対して設定することができます。
Servlet の仮想パス変換を設定するには、サーバ マネージャの [Servlets] タブの「Configure Servlet Attributes」ページで Servlet が設定されている必要があります。詳細については、Servlet の属性の設定を参照してください。
Servlet の仮想変換パスを指定するには、サーバ マネージャの [Servlets] タブの「Configure Servlet Virtual Path Translation」ページを使います。このページには、次のフィールドがあります。
[Choose Virtual Path Entry]
変更する仮想パスを指定します。以前に設定された仮想パスがない場合リストは空です。このドロップダウン リストで仮想パスを選択すると、仮想パスの情報がページに表示されます。新しい仮想パスのエントリを追加する場合は、このフィールドを無視します。
[Virtual Path]
新しいパスを追加する場合は、このフィールドに入力します。既存の仮想パス名を上書きすることもできます。パスを変更する場合は、[Choose Virtual Path Entry] リストでパスを選択し、パス名をこのフィールドに表示します。
このフィールドに入力する値は、http://servername 部分を除く、仮想パスの URL です。たとえば、仮想パスを http://servername/virtual/tracker とする場合は、「/virtual/tracker 」と入力します。
[Servlet Name]
「Configure Servlet Attributes」ページで入力した Servlet の識別子を指定します。この時点で Servlet の識別子が指定されている必要はありませんが、仮想パスを使う前に指定する必要があります。
JRE/JDK パスの設定
iPlanet Web Server をインストールするとき、JRE (Java Runtime Environment ) をインストールするか、JDK (Java Development Kit) のパスを指定することができます。
サーバは、JRE を使って Servlet を実行できますが、JSP の実行には JDK が必要です。iPlanet Web Server には JDK は付属していませんが、次の Sun Microsystems のサイトから無償でダウンロードすることができます。
JRE をインストールする場合も、インストール時に JDK のパスを指定する場合も、iPlanet web Server に指示を送り、JRE または JDK の使用をいつでも切り換えることができます。Web Server Administration Server に切り替えると、 [Global Settings] タブを選択し、「Configure JRE/JDK Paths」ページを使います。 このページで JDK のパスを変更することもできます。
JDK のラジオ ボタンを選択すると、次のフィールドの値を提示します。
[JDK Path]
JDK のパスを入力します。これは、JDK をインストールしたディレクトリです。
[JDK Runtime Libpath]
JDK の実行時のライブラリ パスを入力します。
[JDK Runtime Classpath]
クラスパスには、Servlet エンジンの実行に必要なディレクトリと jar ファイルのパス、Servlet の例、および追加する Servlet に必要な他のパスが含まれます。値はセミコロンで区切ります。既存のクラスパスに新しい値を追加できますが、既存の値は削除しないでください。既存の値には Servlet の処理に不可欠なパスが含まれています。
JRE のラジオ ボタンを選択すると、次のフィールドの値を提示します。
[JRE Path]
JRE のパスを入力します。これは、JRE をインストールしたディレクトリです。
[JRE Runtime Libpath]
JRE の実行時のライブラリパスを入力します。
ノート
JDK の実行時リブパス、JDK 実行時 クラスパス、または JRE 実行時リブパスが明確でない場合は、これらのフィールドは空白のままにして、デフォルト パスを使うことをサーバに指示します。
JVM の属性の設定
Java 仮想マシン (JVM) の属性は、サーバ マネージャの [Servlets] タブの「Configure JVM」ページで設定することができます。
これらのオプションについては、『The Programmer's
Guide to iPlanet Web Server』を参照してください。
バージョン ファイルの削除
サーバでは、次の 2 つのディレクトリを使って、JSP と Servlet の情報がキャッシュされます。
各キャッシュには、サーバでキャッシュ内のディレクトリ構造とファイルを判断するために使われるバージョン番号を含む version ファイルがあります。キャッシュの内容を消去するには、バージョン ファイルを削除します。
サーバの起動時にバージョン ファイルが見つからないと、対応するキャッシュのディレクトリ構造が削除され、バージョン ファイルが再作成されます。次にサーバで JSP ページが処理されるときに、JSP キャッシュ クラスが再作成されます。次にサーバでMMappedSessionManager セッション マネージャを使って JSP ページまたは Servlet が処理されるときに、セッション データ キャッシュが再作成されます。
サーバの将来のアップグレードで使われるキャッシュの形式が異なる場合、サーバによってバージョン ファイル内の番号が確認され、バージョン番号が正しくない場合はキャッシュが消去されます。「Delete Version Files」ページを使って、JSP クラス キャッシュとセッション データ キャッシュのバージョン番号が含まれるファイルを削除することができます。このページには、次のフィールドがあります。
[Delete the SessionData Version File]
セッション データのバージョン ファイルを削除します。この変更を適用すると、バージョン ファイルはすぐに削除されます。次回のサーバ起動時に、セッション データ キャッシュが削除され、バージョン ファイルが再作成されます。 次にサーバでMMappedSessionManager セッション マネージャを使って JSP ページまたは Servlet が処理されるときに、セッション データ キャッシュが再作成されます。
[Delete the ClassCache Version File]
JSP ページのクラス キャッシュのバージョン ファイルを削除します。この変更を適用すると、バージョン ファイルはすぐに削除されます。次回のサーバ起動時に、JSP クラス キャッシュが削除され、バージョン ファイルが再作成されます。次にサーバで JSP ページが処理されるときに、クラス キャッシュが再作成されます。
|