第1章

ファイルシステムへのJSP展開

この章では、Novell exteNd Application ServerのJSP/FS(JSP File System)展開を使用して、JSP開発を迅速に進める方法について説明します。JSP/FSを使用すると、Webアプリケーションをファイルシステムに展開し、変更した結果を再展開することなくただちに確認することができます。この章の節は次のとおりです。

 
Top of page

JSPページの使用

この節では、JSPページとその展開について簡単に説明します。

 
Top of section

JSPページとWebアプリケーションについて

JavaServer Pagesテクノロジは、SunのJ2EEプラットフォームの重要な部分であり、アプリケーションのユーザインタフェースの中核部分を提供するために、JSPページ(およびサポートサーブレット)を使用することを推奨しています。通常、JSPページは、WebベースのJ2EEアプリケーション(Webアプリケーション)で使用されます。Webアプリケーションには、JSPページ、サーブレット、JavaBeans、ユーティリティクラス、イメージなどが含まれており、これらはWAR(Web Application Archive)ファイルと呼ばれるアーカイブにパッケージ化されています。これらのアプリケーションは、ブラウザクライアントによってアクセスされます。

アプリケーションサーバは、JSPページを完全にサポートします。

For more information    JSPページとその作成方法の詳細については、exteNd Director ヘルプを参照してください。

 
Top of section

ファイルシステムの展開について

Webアプリケーションをユーザが使用できるようにするには、Webアプリケーションをアプリケーションサーバに「展開」します。ユーザは、適切なURLをブラウザで指定してアプリケーションにアクセスします。

ただし、アプリケーションの開発、テスト、および修正の段階では、迅速な結果が必要です。JSPページを変更したら、アプリケーションを再展開することなくただちにブラウザで結果を確認したい場合があります。JSP/FSを使用すると、それが可能となります。

アプリケーションをファイルシステムに展開した後で、JSPページを作成または変更し、ブラウザを更新して、ただちに変更を確認できます。再展開する必要はありません。

同様に、アプリケーション内の任意のスタティックリソースを変更し、ただちに変更を確認できます。「スタティックリソース」は、その状態のままサーバが提供するファイルのことです。スタティックリソースには、HTMLファイル、イメージファイル、およびスタイルシートが含まれます。

JSP/FSには、次のような特徴があります。

 
Top of section

exteNd Director展開ツールの使用

Novell exteNd Directorを使用して開発および展開を行う場合は、この章の以降の部分で説明されている手順を実行する必要はありません。 WAR (またはWARを含むEAR)を展開する際に、プロジェクトの展開設定で[高速展開を有効にする]を指定するだけで、exteNd Directorの展開計画により、次を含むすべての作業が自動的に管理されます。

通常の方法で、プロジェクトファイルでの作業を続行します。変更は、展開済みのアプリケーションにただちに反映されます。

運用展開の準備が整ったら、プロジェクトの展開設定で[高速展開を有効にする]をオフにして、再展開します。

For more information    詳細については、exteNd Directorヘルプを参照してください。

 
Top of page

アプリケーションのセットアップ

ファイルシステムの展開をするために、Webアプリケーション開発を開始する際に必要な特別な作業はありません。Webアプリケーションに必要な形式に準拠しているディレクトリ構造を使用して、開発領域をセットアップします。続いて、アプリケーションをテストする準備が整ったら、WARファイルにパッケージ化します。

WARファイルに必要なもの   ファイルシステム展開用のWARファイルを作成するには、次のものが必要です。

WARファイルの作成   好みのアーカイブツールを使用してWARファイルを作成できます。 たとえば、Novell exteNd DirectorまたはSunのjarユーティリティを使用することができます。

 
Top of page

ファイルシステムへのアプリケーションの展開

WARファイルを用意できたら、ファイルシステムに展開できます。J2EEアーカイブ(WARファイルなど)を展開するには、展開計画を作成します。展開計画は、Webアプリケーションの管理方法と展開方法に関するアプリケーションサーバ固有の情報を指定するXMLファイルです。

 
Top of section

展開計画の作成

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>

 
Top of section

アプリケーションの展開

続いて、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の下層にあるサブディレクトリは展開領域を構成し、このディレクトリでアプリケーションを操作することができます。

 
Top of page

アプリケーションの更新

アプリケーションをファイルシステムに展開した後、展開領域で変更を加えて、即座に変更の結果を確認できます。

変更可能な内容   次の操作を実行できます。

結果の表示   変更の結果を表示するには、展開領域に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ファイルなどを更新する必要があり、その後で展開領域を更新することができます。

Procedure 展開領域を更新する

  1. 展開領域を変更します。

  2. クラスをコンパイルして、更新が必要なJARを更新します。

  3. 更新されたCLASSおよびJARファイルを展開領域内の適切な場所にコピーします。

  4. 展開領域のルートに、RELOAD (すべて大文字)という名前のファイルを作成します。

    この展開サンプルでは、webapps/JSPSampleDB/JSPSampleにRELOADを作成します。

    ヒント:   簡単にファイルを作成するには、DOSコマンドプロンプトを開いてディレク トリを移動し、「copy con RELOAD」と入力してから、<Return>キー、<Ctrl+Z>キー、 <Return>キーの順に押します。

  5. ブラウザでアプリケーションにアクセスします。

    サーバは自動的にアプリケーションをリロードし、更新されたすべてのファイルを取得してから、RELOADファイルを削除します。

これで、更新された展開領域にあるJSPページを引き続き変更できます。

ファイルシステムへのアプリケーションの再展開   ファイルシステムに展開した後に、DeployWARを使用してアプリケーションをファイルシステムに再展開しないでください。代わりに、先に説明した手順に従ってアプリケーションを操作します。アプリケーションを運用する準備が整ったら、次の運用環境へのアプリケーションの配置の手順に従います。

エラーが発生したために、DeployWARを使用してアプリケーションをファイルシステムに再展開する場合は、webappsにすでに展開ディレクトリが存在することがサーバによって認識されます。サーバは、ディレクトリの名前をDeploymentDir.1に変更してから、アプリケーションをファイルシステムに再展開します。つまり、現在のアプリケーションは引き続きDeploymentDirのままで、古いバージョンはDeploymentDir.1としてアーカイブされます。再び展開を行うと、DeploymentDirの名前がDeploymentDir.2のように変更されていきます。現在のアプリケーションは常にDeploymentDirになり、それ以前のバージョンは、最も番号の大きいDeploymentDir.nとしてアーカイブされます。サーバによって変更されるのはDeploymentDirだけです。

ここで示されているサンプルでは、アプリケーションがファイルシステムに2回展開された場合、webapps/JSPSampleDB/JSPSampleはJSPSample.1になり、現在のアプリケーションはJSPSampleに展開されます。

 
Top of page

運用環境へのアプリケーションの配置

JSP/FSは、アプリケーションの開発局面での使用のみを目的としています。アプリケーションの開発が終了し、運用環境に配置する準備が整ったら、次の手順に従います。

Procedure アプリケーションを運用環境に配置する

  1. 展開領域に加えた変更を適用して開発領域を更新します。

  2. WARまたはEARファイルを再作成します。

  3. 展開計画の<deployToFilesystem>の行を削除またはコメントアウトします。

  4. DeployWARまたはDeployEARを使用して完全展開を実行します。



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...