前へ 目次 索引 DocHome 次へ |
iPlanet Web Server, Enterprise Edition サーブレットに関するプログラマーズガイド |
第 4 章 JSP (JavaServer Pages) の使用方法
この章では、iPlanet Web Server 6.0 で JSP (Java Server Pages) を有効にする方法および構成する方法について説明します。 この章は、以下の節から構成されています。
JSP を実行するためにサーバで必要なもの
JSP を実行するためにサーバで必要なもの
iPlanet Web Server 6.0 には JRE (Java Runtime Environment) が付属していますが、ライセンス制限のため JDK (Java Development Kit) は付属していません。 サーバでは JRE を使用してサーブレットやコンパイル済みの JSP を実行できますが、新しい JSP の開発やコンパイルされていない JSP の導入には JDK が必要です。 JSP の事前コンパイルの詳細は、「JSP コマンドラインコンパイラ」 を参照してください。iPlanet Web Server 6.0 では、表 4-1 に示したバージョン以降のJRE または JDK を、プラットフォームに合わせて使用する必要があります。
表 4-1 プラットフォームでサポートされる JRE または JDK のバージョン
jvm12.conf にある -Xrs フラグをコメントにしてスタックトレースを生成します。 詳しくは、「デバッグ用のスタックトレースの生成」を参照してください。
hprof など JVMPI ベースのプロファイル、または Solaris dbx を使用するデバッグには、以下の Web サイトからダウンロードできるリファレンス実装を使用してください。
Java バージョン 1.2.2 Classic VM (ビルド JDK-1.2.2_007、ネイティブスレッド、symcjit)
Java バージョン 1.2.2.07 Classic VM (ビルド JDK1.2.2.07-00/12/08-PA_
RISC1.1、ネイティブスレッド、HP)iPlanet には、別の HotSpot VM (1.0.1fcs、混合モード、PA2.0 build 1.2.2.07-00/12/08-PA_RISC2.0) もバンドルされています。 この VM は有効になっていません。 このバージョンの使用法の詳細は、以下の Web サイトを参照してください。
http://www.unix.hp.com/java/infolibrary/ prog_guide/java2/hotspot.html
Java バージョン 1.2.2 Classic VM
(J2RE 1.2.2 IBM ビルド
ca122-20001206 (JIT 有効: jitc))Java バージョン 1.2.2-8 Classic VM
(ビルド J2SDK.v.1.2.2:10/31/
2000-18:00、ネイティブスレッド、
jit_122)Java バージョン 1.2.2 Classic VM
(ビルド Linux_JDK-1.2.2_FCS、
ネイティブスレッド、sunwjit)
必要な JDK バージョンの更新については、iPlanet Web Server の『インストールと移行』および最新のリリースノートを参照してください。
JDK 1.2 およびその他の JDK バージョンは、次の Sun Microsystems の Web サイトで入手できます。
http://java.sun.com/products/jdk/1.2/
JDK へのパスは以下のいずれかの方法で指定することができます。
サーバのインストール中にパスの指定ができます。
インストール中またはインストール後に JDK へのパスを指定する場合、そのパスには JDK をインストールしたディレクトリを指定します。
サーバのインストール後に指定することもできます。
- iPlanet Web Server 6.0 のインストール時に、カスタム JDK (Java Development Kit) を使用するかどうか尋ねるダイアログボックスが表示されるので、そこでパスを指定できます。
- JDK へのパスを指定するには、Web Server Administration Server に切り替えて、「Global Settings」タブを選択し、「Configure JRE/JDK Paths」ページを使用します。詳しくは、「JRE/JDK パスの構成」 を参照してください。
JRE/JDK パスの構成
iPlanet Web Server 6.0 のインストール時に、サーバに付属の JRE (Java Runtime Environment) をインストールするか、使用している JRE または JDK (Java Development Kit) へのパスを指定するかを選択できます。サーバでは、JRE を使用してサーブレットを実行できますが、コンパイルされていない JSP を実行するには JDK が必要です。 JDK は、iPlanet Web Server にバンドルされていませんが、以下の Sun Microsystems の Web サイトからダウンロードできます。
http://java.sun.com/products/jdk/1.2/
iPlanet Web Server 6.0 では、「JSP を実行するためにサーバで必要なもの」 に一覧表示されたバージョンの JDK を使用してください。
インストール中に JRE のインストールまたは JDK へのパスの指定のどちらを選択するかにかかわらず、JRE または JDK の使用の切り替えをいつでも iPlanet Web Server に命令することができます。 Web Server Administration Server に切り替えて、「Global Settings」タブを選択し、「Configure JRE/JDK Paths」ページを使用します。 このページでも JDK へのパスを変更することができます。
「Configure JRE/JDK Paths」ページで 「JDK」ラジオボタンを選択した場合、以下のフィールドに値を入力します。
JDK Path
「JRE」ラジオボタンを選択した場合、以下のフィールドに値を入力します。
JDK Runtime Libpath
- JDK のパスを入力します。 これは JDK をインストールしたディレクトリです。
JDK Runtime Classpath
- JDK の実行時ライブラリパスを入力します。
- クラスパスには、サーブレットエンジンの実行に必要なディレクトリと jar ファイルへのパス、サーブレットの例、および追加したサーブレットに必要なその他のパスが設定されます。新しいクラスパスの値を追加することはできますが、既存の値にはサーブレットの操作に必須のパスが設定されているので削除しないでください。
JRE Path
JRE と JDK の切り替えには「Configure JRE/JDK Paths」ページを使用するのがいちばん簡単ですが、以下のようにプログラミング用ファイルを編集しても行えます。
JRE Runtime Libpath
- JRE のパスを入力します。 これは JRE をインストールしたディレクトリです。
UNIX では次の操作を行います。
Windows NT では次の操作を行います。
- server_root/https-admserv/start-jvm ファイルを編集します。
- 現在サーバで JRE を使用している場合、このファイルには変数 NSES_JRE がインクルードされています。 サーバで JDK を使用するには、変数 NSES_JDK を追加し、その値として JDK のディレクトリを指定します。 NSES_JRE 変数の値を変更する必要もあります。
- NSES_JDK は JDK のインストールディレクトリを、NSES_JRE は JDK のインストールディレクトリにある JRE ディレクトリ、つまり jdk_dir/jre を指している必要があります。
- Java ライブラリへのパスを magnus.conf の中の extrapath 設定に追加します。
- レジストリ HKEY_LOCAL_MACHINE/SOFTWARE/Netscape/Enterprise/6.0/ で NSES_JDK および NSES_JRE 変数を編集します。 サーバで JDK の使用が有効になっている場合、両方の変数が必要です。 サーバで使用するのが JRE の場合は、NSES_JRE 変数だけを設定します。
- NSES_JDK は JDK のインストールディレクトリを、NSES_JRE は JDK のインストールディレクトリにある JRE ディレクトリ、つまり jdk_dir/jre を指している必要があります。
これらの Windows NT レジストリエントリを編集するときは、十分注意してください。 値を間違えると、iPlanet Web Server の再インストールが必要になる場合もあります。
注 JRE または JDK パスへの変更を有効にするには、サーバマネージャの「Preferences」タブにある「On/Off」オプションからサーバを再起動する必要があります。
ユーザインタフェースの使用
ユーザインタフェースを使用した JSP の設定の詳細は、オンラインヘルプで以下の内容を参照してください。次のページは Web Server Administration Server の「Global Settings」タブにあります。
「Configure JRE/JDK Paths」ページ
次のページはサーバマネージャの「Java」タブにあります。次のページはクラスマネージャの「Virtual Servers」タブにあります。 クラスマネージャを開くには、サーバマネージャの「Virtual Server Class」タブにある「Manage Classes」ページを選択し、リストからクラスを選択して「Manage」ボタンを選択します。
「Java Web Apps Settings」ページ
JSP の有効化
JSP を有効にするには、以下の手順に従います。
サーブレットを有効にします。 サーバマネージャの「Java」タブを選択し、「Enable/Disable Servlets/JSP」タブを選択します。 「Enable Java Globally」ボックスをチェックし、サーバ全体に対してサーブレットを有効にします。 単一仮想サーバクラスに対してサーブレットを有効にするには、「Enable Java for Class」ボックスをチェックします。 サーバ全体に対して Java を有効にしてから、単一クラスに対してサーブレットを有効にします。 デフォルトでは、Java はサーバ全体および各仮想サーバクラスに対して有効になっています。
enable="true" に設定されている jsp-servlet 要素を web-apps.xml ファイルに追加します。 web-apps.xml ファイルの詳細は、第 2 章「Web アプリケーション」を参照してください。
JVM クラスパスに tools.jar を追加します。 詳しくは、付録 C「JVM の構成」を参照してください。
クライアントで JSP を使用できるようにする方法
以下のどちらかの方法で、JSP がクライアントで使用できるようになります。
JSP を Web アプリケーションに追加して、その Web アプリケーションを導入する。 その方法の詳細は、第 2 章「Web アプリケーション」 を参照してください。
デフォルトの仮想サーバで JSP を設定する。 これは、iPlanet Web Server 4.x との下位互換用に提供されています。 その方法の詳細は、第 8 章「古いバージョンのサーブレットおよび JSP の構成」 を参照してください。
キャッシュのバージョンファイルの削除
JSP (JavaServer Pages) の情報をキャッシュするために、サーバでは以下のディレクトリが使用されます。server_root/https-server_id/ClassCache/virtual_server_id/webapp_uri/
(virtual_server_id は仮想サーバ ID、webapp_uri は Web アプリケーションの URI を示す)web-apps.xml ファイルにある jsp-servlet 要素の scratchdir 初期設定パラメータを使用して、JSP クラスキャッシュディレクトリの場所を変更できます。 詳しくは、「その他の JSP 初期設定パラメータ」を参照してください。
サーバは JSP ページを処理すると、JSP に関連付けられた .java および .class ファイルを作成し、ClassCache ディレクトリの下位の JSP クラスキャッシュに格納します。
このキャッシュには、バージョン番号が記述されている Version ファイルが格納されており、サーバはこのファイルを使用してディレクトリの構造とキャッシュ内のファイルを判別します。 バージョンファイルを削除するだけでキャッシュをクリーンアップすることができます。
サーバは、起動時にバージョンファイルを検出できない場合、対応するキャッシュのディレクトリ構造を削除してバージョンファイルを作成し直します。 次回サーバが JSP ページを処理するときに、JSP クラスキャッシュが作成し直します。
バージョンファイルの削除は、通常のファイルを削除するときと同じように ClassCache ディレクトリから削除するだけで行えます。または、サーバマネージャの「Java」>「Delete Version Files」ページで削除することもできます。 バージョンファイルを削除したあとは、必ず iPlanet Web Server を再起動してください。そうすることにより、該当するキャッシュがクリーンアップされ、サーバが JSP を処理する前にバージョンファイルが作成し直されます。
JSP コマンドラインコンパイラ
JSP を事前にコンパイルしてパフォーマンスを向上させることができます。これは本稼動用のサーバにお勧めします。 コマンドラインの JSP コンパイラが iPlanet Web Server にインクルードされています。 JSP コンパイラは server_root/bin/https/bin にあります。このディレクトリがパスにあることを確認してください。 IWS_SERVER_HOME 環境変数は、server_root ディレクトリに設定する必要があります。jspc [options] jsp_files (options はオプションを示す)
Web アプリケーションが含まれるディレクトリ。 このディレクトリとサブディレクトリに存在する JSP がすべてコンパイルされます。 WAR、JAR、または ZIP ファイルを指定することはできません。
-webinc および -webxml オプションは、iPlanet Web Server の JSP には役立たない場合があります。
たとえば、以下のコマンド (1 行に入力) では、HelloWorld Web アプリケーションの JSP をコンパイルします。
jspc -d dir -genclass -webapp server_root/plugins/servlets/examples/web-apps/HelloWorld
コンパイルされた JSP は、dir/_jsps/ の下に書き込まれます。 次に、これらのクラスファイルを .JAR ファイルに置くことができます。
JSP コンパイラの詳細は、以下の Jakarta の Web サイトを参照してください。
Jasper と iPlanet Web Server 6.0 は密接に統合されてはいないので、タグライブラリ、Bean などを使用した JSP の導入には、JVM クラスパスの編集が必要な場合があります。JVM クラスパスは、サーバマネージャの「Configure JVM Attributes」ページ、または jvm12.conf ファイルにあります。 JVM の設定の詳細は、付録 C「JVM の構成」を参照してください。
JSP コンパイラで生成されたパッケージ名
コンパイルされた JSP には、パッケージが作成されます。 パッケージ名は _jsps で始まり、先頭に下線が付いた JSP のパス名の構成要素がきます。 たとえば、/myjsps/hello.jsp に対して生成されるパッケージ名は _jsps._myjsps になります。生成されたサーブレットに関連付けられるパッケージ名は暗黙のものであるため、JSP で Bean を使用する場合は、明示的な import 指令が必要です。Bean にパッケージ名がない場合は特に必要です。 以下に例を示します。
<%@page import="MyBean" %>
<jsp:useBean id="myBean" class="MyBean" />
JSP のプリコンパイルの指定
web-apps.xml ファイルの jsp-servlet 要素を使って、仮想サーバの JSP が事前にコンパイルされるよう iPlanet Web Server に命令することができます。 vs 要素に以下のタグを指定します。<jsp-servlet enable="true">
<init-param>
<param-name>use-precompiled</param-name>
<param-value>true</param-value>
</init-param>
</jsp-servlet>web-apps.xml ファイルの詳細は、第 2 章「Web アプリケーション」を参照してください。
事前にコンパイルされた JSP を実行するために JDK をインストールする必要はありません。 ただし、新しい JSP を開発するには JDK が必要です。 JDK のインストールの詳細は、「JSP を実行するためにサーバで必要なもの」 を参照してください。
その他の JSP 初期設定パラメータ
web-apps.xml ファイルの jsp-servlet 要素には、以下の初期設定パラメータを指定することができます。 JSP コンパイラでは、ファイルに追加されていないパラメータにはデフォルト値が使用されます。
JSP タグライブラリおよび標準のポータブルタグ
iPlanet Web Server は、JSP タグライブラリおよび標準のポータブルタグをサポートしています。 タグライブラリの詳細は、以下の Web サイトにある JSP 1.1 仕様を参照してください。http://java.sun.com/products/jsp/download.html
前へ 目次 索引 DocHome 次へ
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.
Last Updated September 17, 2001