.warファイル

3130 ワード

Javaクラスファイルとパッケージ化する.JArファイルと同様に、WebアプリケーションをWebアーカイブ(war)にパッケージ化し、WARファイルを利用して、サーブレットクラスのファイルと関連するリソースを集中して公開することができます.この過程で、Webアプリケーションはディレクトリ階層に従って配備されるのではなく、WARファイルを配備ユニットとして使用します.
 
1つのWARファイルは、Webアプリケーションである、WARファイルを作成することは、Webアプリケーション全体(Webアプリケーション階層を除くルートディレクトリ)を圧縮し、1つを指定することである.war拡張子.
どのように梱包しますか?
1.コマンドプロンプトを開き、cdからTomcatインストールディレクトリのC:/tomcat/webappsサブディレクトリへ
2.次のコマンドを実行すると、MyMessageBoard_Servlet_Jsp Webプロジェクトパッケージ
このコマンドはMyMessageBoardをServlet_Jspディレクトリの下のすべてのサブディレクトリとファイルはMyMesageBoardという名前にパッケージされています.Servlet_Jsp.warのアーカイブファイル.srcディレクトリとその下にあるJavaソースファイルを含めたくない場合(パブリッシュ時にJavaソースファイルをWARファイルに含めるべきではない)、次のコマンドを実行します.

jar -cvf MyMessageBoard_Servlet_Jsp.war *.html WEB-INF/

 
WARファイルの内容を表示するには、次のコマンドを実行します.

jar -tf MyMessageBoard_Servlet_Jsp.war

 
もし私たちがMyMessageBoardをServlet_Jsp.warファイルはTomcatインストールディレクトリwebappsディレクトリの下に置かれ、Tomcat起動時にこのWARファイルが自動的に解凍され、パッケージ化前のディレクトリ階層に従ってWARファイルのファイル名と同名のディレクトリch 02および以下のサブディレクトリとファイルが生成される.読者は自分で実験をして、まずwebappsディレクトリの下のMyMessageBoardを削除することができます.Servlet_Jsp.warディレクトリ、そしてMyMessageBoard_Servlet_Jsp.warファイルをwebappsディレクトリにコピーし、Tomcatを起動すると、webappsディレクトリの下にMyMessageBoardが新たに生成されたことがわかります.Servlet_Jspディレクトリ.
もちろん、WARファイルからWebアプリケーションを直接実行し、Tomcatインストールディレクトリconfの下のserverを開くこともできます.xmlファイル、要素の構成箇所を以下に示します.
 
 

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

 
unpackWARsプロパティの値をfalseに設定すると、TomcatはWARファイルを直接実行します.要素の各属性の意味については、付録CまたはTomcatのドキュメントを参照してください.Tomcatによって生成されたディレクトリを削除するMyMessageBoard_Servlet_Jsp、Tomcatを再起動し、webappsディレクトリを表示すると、今回MyMesageBoardが生成されていないことがわかります.Servlet_Jspディレクトリ、ブラウザを開き、以前にアクセスしたURLを入力してテストします.
WARファイルを作成する前に、正しいWebアプリケーションのディレクトリ階層を作成する必要があります.
WEB-INFサブディレクトリを作成し、その下にclassesとlibの2つのサブディレクトリを作成します.
ServeretクラスファイルをWEB-INF/classesディレクトリの下に、Webアプリケーションで使用するJavaクラスライブラリファイル(つまりJARファイル)をWEB-INF/libディレクトリの下に置きます.
Webを構築するxmlファイル、WEB-INFディレクトリの下に置きます.
Webアプリケーションのニーズに応じて、コンテキストルートまたはそのサブディレクトリの下にJSPページまたは静的HTMLページを配置します.
必要に応じて、META-INFディレクトリを作成し、そのディレクトリの下にcontextを作成する.xmlファイル.
WARファイルの作成は、これらの作業が完了してからのみ開始されます.
なお、WARファイルとJARファイルのファイルフォーマットは同じであり、jarコマンドを使用して作成されているが、その適用についてはWARファイルとJARファイルには根本的な違いがある.JARファイルの目的は、クラスと関連するリソースを圧縮されたアーカイブファイルにカプセル化することであるが、WARファイルにとって、クラスのアーカイブファイルだけでなく、サーブレット、HTMLページ、Javaクラス、画像ファイル、およびWebアプリケーションを構成する他のリソースを含むことができるWebアプリケーションを表すWARファイルである.
WARファイルはいつ使えばいいですか?開発段階ではWARファイルを使用するのは適切ではありません.開発段階では、Webアプリケーションのコンテンツを追加または削除し、サーブレットクラスのファイルを更新する必要がありますが、変更するたびにWARファイルを再構築するのは時間の無駄です.製品のリリース段階ではWARファイルを使うのが適当ですが、この時点では、これ以上変更する必要はほとんどありません.
開発段階では、Webリソースファイルと区別するために、通常、サーブレットソースファイルをWebアプリケーションディレクトリのsrcサブディレクトリの下に配置します.WARファイルを作成する場合は、srcディレクトリをWebアプリケーションディレクトリから移動するだけでパッケージングできます.