1 つの JRun サーバーで、複数の Web アプリケーションがサポートされます。どのアプリケーションが要求に対応するのか JRun が認識できるように、これらの各アプリケーションは異なる URL にマッピングされます。
Web アプリケーションは、URL にアプリケーション名が含まれている次のような URL にマッピングされることもあります。
http://hostname/app1/app1_resource
http://hostname/app2/app2_resource
この例では、http://hostname/app1/ で始まる URL は app1 内のリソースを参照し、http://hostname/app2/ で始まる URL は app2 内のリソースを参照します。このアプリケーションのルート ディレクトリは、アプリケーション ファイルを提供するためのドキュメント ルートとして機能します。たとえば、Web アプリケーションが C:¥apps¥app1 にある場合、既定のトップ ページ ファイルの場所はC:¥apps¥app1¥index.html になります。このファイルは、 http://hostname/app2/index.html のURLを使用してクライアントに提供できます。
ただし、このアプリケーションのマッピング規則には 1 つの例外があります。既定の Web アプリケーションにはこの規則は当てはまりません。既定の Web アプリケーションは、"/" または "//hostname/" のいずれかにマッピングされます。既定のアプリケーションは、次の形式の URL に応答します。
/" または "//hostname/" にマッピングされます。
JRun では 最も限定的な参照から最も広範囲の参照の順に URL が解決されます。 ある URL にマッピングされるほかのリソースが見つからない場合は、常に既定の アプリケーションを使用して URL が解決されます。
既定のアプリケーションでは、Web サーバーのドキュメント ルート ディレクトリ
の JSP やほかのサーバー側スクリプトを自動的に使用します。たとえば、IIS Web
サーバーを使用している場合は通常、¥inetpub¥wwwroot がドキュメント ルートに
なります。既定の Web アプリケーションでは、このディレクトリをドキュメント
ルートとして使用するため、JSP やほかのサーバー側スクリプトを
¥inetpub¥wwwroot に配置できます。
JRun/servlets が含まれます。 旧バージョンの JRun では、開発者が、このディレクトリに Java サーブレットの
.class ファイルを配置していました。JRun/servlets を既定のアプリケーション
のクラスパスに含めることによって、既定のアプリケーションに旧バージョンの
JRun との下位互換性を持たせることができます。既定では、このディレクトリが
ほかの Web アプリケーションで使用されることはありません。
既定の Web アプリケーションを利用する主な理由の 1 つは、旧バージョンの JRun および Java サーブレット API との下位互換性を持たせることです。これによって、既存の JRun アプリケーションからこのバージョンの JRun へのアップグレードが簡単に行えます。旧バージョンの JRun では、開発者が JSP やほかのサーバー側スクリプトを Web サーバーのドキュメント ルート ディレクトリに配置し、Java サーブレットの .class ファイルを {jrun root dir}/servlets ディレクトリに配置していました。
JRun サーバーに接続されている各 Web サーバーには、関連する既定の Web アプリケーションが含まれています。たとえば、default JRun サーバーには、ディレクトリ {jrun root dir}/servers/default/default-app にdefault-app という名前の Web アプリケーションが含まれています。
次に、既定の Web アプリケーションのリソースに対応する URL の例を示します。
http://hostname/resource
JRun では 最も限定的な参照から最も広範囲の参照へと URL が解決されます。この場合、URL に一致するアプリケーションは既定のアプリケーションだけなので、既定のアプリケーションがこの要求を処理します。JRun が URL を解決する方法の詳細については、第 6 章を参照してください。
JRun は、リソース名が一致するリソースを、既定のアプリケーションのルート ディレクトリ (通常は、Web サーバーのドキュメント ルート) から検索します。リソースが見つかると、そのリソースが返されます。JSP または Java サーブレットの場合、リソースを返すことは、JSP や Java サーブレットを処理して、その処理結果をクライアントに返すことを意味します。
Web アプリケーションで URL に対応するリソースが見つからない場合、JRun は Web サーバーに処理の要求を返します。たとえば、クライアントが次の要求を発行したとします。
http://localhost/index.htm
"/" は既定のアプリケーションと一致しますが、index.htm に対応するサーブレットのマッピングが既定のアプリケーションにない場合、JRun から Web サーバーに制御が返されます。その後、Web サーバーはドキュメント ルートからクライアントにファイル index.htm が返されます。
JRun には、default JRun サーバーで使用する、default-app という既定のアプリケーションがあります。このアプリケーションは、ディレクトリ JRun/servers/default/default-app にあります。
JRun をインストールすると、default-app には次のような既定のアプリケーションのすべての特徴が加わります。
JRun/servlets が含まれます。このため、このディレクトリにサーブレット .class ファイルを配置できます。
default-app によって、最初に Web アプリケーションを作成しなくても、Java サーブレット、JSP、および EJB の開発を開始できます。
Web アプリケーションに対して追加する場合と同じ規則を使用して、コンテンツを default-app に追加します。Web アプリケーションへのリソースの追加の詳細については、"Web アプリケーション コンポーネントの追加"を参照してください。
"Web アプリケーションのディレクトリ構造"で説明しているように、既定のアプリケーションでは、ほかのアプリケーションと同じディレクトリ構造を使用します。既定のアプリケーションのディレクトリ構造における唯一の違いは、既定のアプリケーションは、独自のドキュメント ルート ディレクトリではなく、アプリケーション ルート ディレクトリとして Web サーバーのドキュメント ルート ディレクトリを使用する点です。
既定のアプリケーションでは、Web サーバーのドキュメント ルート ディレクトリを使用して、Web サーバーのドキュメント ルートの JSP やほかのサーバー側スクリプトを操作できます。この場合、既定のアプリケーションでは、WEB-INF の下にある .class および JAR ファイル以外のリソースについては、独自のルート ディレクトリを参照しません。
|
メモ インストールすると、JRun は default JRun サーバー上で JRun Web サーバー (JWS) を
起動するように設定されます。JWS のドキュメント ルート、つまり既定のアプリケー
ションのドキュメント ルートは、 |
すべての Web アプリケーションのクラスパスについては、"Web アプリケーション クラスパスの決定"のセクションで説明しています。このセクションで説明したクラスパスだけでなく、既定の Web アプリケーションのクラスパスには、{jrun.rootdir}/servlets というパスも追加されています。これは、既定の Web アプリケーションが、このディレクトリ内のすべての .class または JAR ファイルにアクセスできることを意味します。
{jrun.rootdir}/servlets ディレクトリは再ロード可能です。これは、JRun はこのディレクトリ内の .class および JAR ファイルの依存チェックを行うことを意味します。対応するサーブレットが最後にロードされた後にファイルが変更されていれば、サーブレットが再ロードされます。