![]() ![]() ![]() ![]() ![]() ![]() | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
第1章
この章では、Novell exteNd Application ServerのJSP/FS(JSP File System)展開を使用して、JSP開発を迅速に進める方法について説明します。JSP/FSを使用すると、Webアプリケーションをファイルシステムに展開し、変更した結果を再展開することなくただちに確認することができます。この章の節は次のとおりです。
この節では、JSPページとその展開について簡単に説明します。
JavaServer Pagesテクノロジは、SunのJ2EEプラットフォームの重要な部分であり、アプリケーションのユーザインタフェースの中核部分を提供するために、JSPページ(およびサポートサーブレット)を使用することを推奨しています。通常、JSPページは、WebベースのJ2EEアプリケーション(Webアプリケーション)で使用されます。Webアプリケーションには、JSPページ、サーブレット、JavaBeans、ユーティリティクラス、イメージなどが含まれており、これらはWAR(Web Application Archive)ファイルと呼ばれるアーカイブにパッケージ化されています。これらのアプリケーションは、ブラウザクライアントによってアクセスされます。
アプリケーションサーバは、JSPページを完全にサポートします。
JSPページとその作成方法の詳細については、exteNd Director ヘルプを参照してください。
Webアプリケーションをユーザが使用できるようにするには、Webアプリケーションをアプリケーションサーバに「展開」します。ユーザは、適切なURLをブラウザで指定してアプリケーションにアクセスします。
ただし、アプリケーションの開発、テスト、および修正の段階では、迅速な結果が必要です。JSPページを変更したら、アプリケーションを再展開することなくただちにブラウザで結果を確認したい場合があります。JSP/FSを使用すると、それが可能となります。
アプリケーションをファイルシステムに展開した後で、JSPページを作成または変更し、ブラウザを更新して、ただちに変更を確認できます。再展開する必要はありません。
同様に、アプリケーション内の任意のスタティックリソースを変更し、ただちに変更を確認できます。「スタティックリソース」は、その状態のままサーバが提供するファイルのことです。スタティックリソースには、HTMLファイル、イメージファイル、およびスタイルシートが含まれます。
JSP/FSには、次のような特徴があります。
開発の強化のみを目的としています。運用アプリケーションでは使用しないでください。代わりに、運用環境へのアプリケーションの配置を参照してください。
Novell exteNd Directorを使用して開発および展開を行う場合は、この章の以降の部分で説明されている手順を実行する必要はありません。 WAR (またはWARを含むEAR)を展開する際に、プロジェクトの展開設定で[高速展開を有効にする]を指定するだけで、exteNd Directorの展開計画により、次を含むすべての作業が自動的に管理されます。
プロジェクトファイルの変更を管理する(Javaソースファイルの変更に説明されているように、必要に応じたRELOADファイルの作成および削除を含む)。
通常の方法で、プロジェクトファイルでの作業を続行します。変更は、展開済みのアプリケーションにただちに反映されます。
運用展開の準備が整ったら、プロジェクトの展開設定で[高速展開を有効にする]をオフにして、再展開します。
詳細については、exteNd Directorヘルプを参照してください。
ファイルシステムの展開をするために、Webアプリケーション開発を開始する際に必要な特別な作業はありません。Webアプリケーションに必要な形式に準拠しているディレクトリ構造を使用して、開発領域をセットアップします。続いて、アプリケーションをテストする準備が整ったら、WARファイルにパッケージ化します。
WARファイルに必要なもの ファイルシステム展開用のWARファイルを作成するには、次のものが必要です。
アプリケーションの「展開記述子」。このファイルはweb.xmlという名前で、WEB-INFディレクトリに存在する必要があります。
Sun J2EE WebアプリケーションDTDにはいくつかのバージョンがあります。各バージョンのJava Servlet Specificationで、各タグに関する詳しいマニュアルが提供されています。これらのマニュアルは、Sun Java Webサイトjava.sun.com/j2ee/docs.htmlにあります。
WARファイルの作成 好みのアーカイブツールを使用してWARファイルを作成できます。 たとえば、Novell exteNd DirectorまたはSunのjarユーティリティを使用することができます。
WARファイルを用意できたら、ファイルシステムに展開できます。J2EEアーカイブ(WARファイルなど)を展開するには、展開計画を作成します。展開計画は、Webアプリケーションの管理方法と展開方法に関するアプリケーションサーバ固有の情報を指定するXMLファイルです。
WARの展開計画は正しい形式である必要があります。展開計画DTDは、サーバのResources/DTDCatalogディレクトリにあります。使用するDTDは、サーバのバージョンによって異なります。サーバのバージョンに適したDTDの詳細については、を参照してください。
ファイルシステム展開用の展開計画は、運用展開用の展開計画と同じですが、<warJar>セクションに、サーバでアプリケーションをファイルシステムに展開するよう指定する行が含まれる点が異なります。ファイルシステムに展開するには、次の行を展開計画に含めます。
<deployToFilesystem type="Boolean">true</deployToFilesystem>
例 次に、<deployToFilesystem>要素の使用方法を示します。
<warJarName>C:\\MyProjects\\JSPSample\\JSPSample.war</warJarName> <isEnabled type="Boolean">True</isEnabled> <deployToFilesystem type="Boolean">true</deployToFilesystem> <sessionTimeout type="String">5</sessionTimeout> <urls type="StringArray"> <el>JSPSample</el> </urls> <deployedObject type="String">JSPSample</deployedObject> </warJar> </warJarOptions>
続いて、DeployWAR SilverCmdを実行してアプリケーションを展開します(WARファイルにDeployEARが含まれていれば、これを使用することもできます)。
結果 アプリケーションが次のようにファイルシステムに展開されます。サーバは、サーバのインストールディレクトリ内にあるディレクトリ/webapps/DBname/URLディレクトリにWARファイルを展開します。
例 次に、先に示した展開計画を使用するサンプルアプリケーションの構造を示します(太字のエントリはディレクトリです)。
JSPSample jsps (JSPページを含むディレクトリ) WEB-INF web.xml (展開記述子) classes (サポートクラスファイルが含まれるディレクトリ) tlds (TLDファイルが含まれるディレクトリ)
次に、展開コマンドラインを示します。
SilverCmd DeployWAR localhost JSPSampleDB JSPSample.war -f JSPSampleDeplPlan.xml -o
このアプリケーションをファイルシステムに展開した後に、サーバのインストールディレクトリにある/webappsに次のようにWARファイルが展開されます。
ServerInstallDir
webapps
JSPSampleDB (展開データベースと同じ名前のディレクトリ)
JSPSample (展開計画のURLと同じ名前のディレクトリ)
com (JSPがコンパイルされる場所であるディレクトリ - 下記を参照)
jsps
WEB-INF
web.xml
classes
tlds
webapps/JSPSampleDB/JSPSampleの下層にあるサブディレクトリは展開領域を構成し、このディレクトリでアプリケーションを操作することができます。
アプリケーションをファイルシステムに展開した後、展開領域で変更を加えて、即座に変更の結果を確認できます。
結果の表示 変更の結果を表示するには、展開領域に1つまたは複数のファイルを保存し、ブラウザに切り替えて、適切なURLを指定します。
たとえば、sample.jspの変更の結果を表示するには、次のようなURLを指定します。
http://localhost/JSPSampleDB/JSPSample/jsps/sample.jsp
サーバの動作 アプリケーションサーバは、JSPページがアクセスされたことがあるかどうかを確認します。アクセスされたことがない場合には、コンパイルして結果をブラウザに表示します。生成されたJavaおよびクラスファイルは、展開領域のcom/sssw/gen/jspディレクトリに保存されます。
同様に、サーバは、JSPページ(JSPソースファイル)が最後にアクセスされたとき以降に更新されているかどうかを確認します。更新されている場合、ファイルは再コンパイルされて再表示されます。
必要に応じて、サーバは更新されたスタティックリソースについても同様の処理を行います。
エラーがある場合 要求されたページでJSPコンパイルエラーが発生した場合、サーバは、エラーを説明するHTMLページを生成し、ステータスコード500とともにクライアントに戻します。
要求されたページ以外でJSPページのコンパイルエラーが発生した場合、サーバは障害を検知できません。コンパイル処理でエラーが発生した場所によっては、生成されたJSPページに、エラーを説明するリンクとともにエラーメッセージが表示される場合があります。展開計画で<excludedJSPs>タグを使用すると、エラーが発生することがわかっているJSPページがサーバによってコンパイルされないようにすることができます。
Javaソースファイルの変更 開発段階でアプリケーション内のユーティリティクラス、サーブレット、JARファイルなどを更新する必要があり、その後で展開領域を更新することができます。
展開領域のルートに、RELOAD (すべて大文字)という名前のファイルを作成します。
この展開サンプルでは、webapps/JSPSampleDB/JSPSampleにRELOADを作成します。
ヒント: 簡単にファイルを作成するには、DOSコマンドプロンプトを開いてディレク トリを移動し、「copy con RELOAD」と入力してから、<Return>キー、<Ctrl+Z>キー、 <Return>キーの順に押します。
サーバは自動的にアプリケーションをリロードし、更新されたすべてのファイルを取得してから、RELOADファイルを削除します。
これで、更新された展開領域にあるJSPページを引き続き変更できます。
ファイルシステムへのアプリケーションの再展開 ファイルシステムに展開した後に、DeployWARを使用してアプリケーションをファイルシステムに再展開しないでください。代わりに、先に説明した手順に従ってアプリケーションを操作します。アプリケーションを運用する準備が整ったら、次の運用環境へのアプリケーションの配置の手順に従います。
エラーが発生したために、DeployWARを使用してアプリケーションをファイルシステムに再展開する場合は、webappsにすでに展開ディレクトリが存在することがサーバによって認識されます。サーバは、ディレクトリの名前をDeploymentDir.1に変更してから、アプリケーションをファイルシステムに再展開します。つまり、現在のアプリケーションは引き続きDeploymentDirのままで、古いバージョンはDeploymentDir.1としてアーカイブされます。再び展開を行うと、DeploymentDirの名前がDeploymentDir.2のように変更されていきます。現在のアプリケーションは常にDeploymentDirになり、それ以前のバージョンは、最も番号の大きいDeploymentDir.nとしてアーカイブされます。サーバによって変更されるのはDeploymentDirだけです。
ここで示されているサンプルでは、アプリケーションがファイルシステムに2回展開された場合、webapps/JSPSampleDB/JSPSampleはJSPSample.1になり、現在のアプリケーションはJSPSampleに展開されます。
JSP/FSは、アプリケーションの開発局面での使用のみを目的としています。アプリケーションの開発が終了し、運用環境に配置する準備が整ったら、次の手順に従います。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...