Tomcatルートにアプリケーションをデプロイする

1.概要

このクイック記事では、TomcatのルートにWebアプリケーションをデプロイする方法について説明します。

2. Tomcatのデプロイメントの基本と用語

まず、Tomcatへのアプリケーションのデプロイの基本がこのガイドにあります。 WARファイルをTomcatにデプロイする方法

簡単に言うと、Webアプリケーションは $ CATALINA HOME \ webapps の下に配置されます。ここで、 $ CATALINA HOME はTomcatのインストールディレクトリです。

  • コンテキストパスとは、Webアプリケーションの名前を表すサーバーのアドレスからの相対的な場所のことです。**

デフォルトでは、Tomcatはデプロイされたwarファイルの名前から派生します。そのため、 ExampleApp.war というファイルをデプロイすると、 http://localhost:8080/ExampleApp にあります。 I.コンテキストパスは /ExampleApp です。

代わりに、そのアプリをhttp://localhost:8080/__で利用可能にする必要がある場合は、いくつかのオプションがあります。これについては次のセクションで説明します。

Tomcatのコンテキスト概念のより詳細な説明については、公式https://tomcat.apache.org/tomcat-8.5-doc/config/context.html[Tomcatのドキュメント]をご覧ください。

3. ROOT.war としてアプリをデプロイする

最初のオプションは非常に簡単です。 $ CATALINA HOME \ webapps にあるデフォルトの /ROOT/ フォルダを削除し、 ExampleApp.war ROOT.war__に変更してデプロイするだけです。

我々のアプリは http://localhost:8080/ で利用可能になります。

4. server.xml でコンテキストパスを指定する

2番目のオプションは、 server.xml $ CATALINA HOME \ conf__にある)にアプリケーションのコンテキストパスを設定することです。

そのためには、 <Host> タグの内側に以下を挿入する必要があります。

<Context path="" docBase="ExampleApp"></Context>
  • 注:コンテキストパスを手動で定義すると、アプリケーションがデフォルトで2回デプロイされるという副作用があります。

これを防ぐには、 <Host> タグに autoDeploy =” false” および deployOnStartup =” false” を設定する必要があります。

<Host name="localhost" appBase="webapps" unpackWARs="true"
  autoDeploy="false" deployOnStartup="false">
    <Context path="" docBase="ExampleApp"></Context>

    <!-- Further settings for localhost -->
</Host>
  • 重要:このオプションはTomcat 5以降推奨されなくなりました。 server.xml ファイルはTomcatを再起動しないと再ロードできないため、コンテキスト設定がより侵襲的になります。**

5.アプリ固有のXMLファイルでのコンテキストパスの指定

server.xml でこの問題を回避するために、3番目の選択肢があります。

コンテキストパスはアプリケーション固有のXMLファイルに設定します。

したがって、 $ CATALINA HOME \ conf \ Catalina \ localhost ROOT.xml__を以下の内容で作成する必要があります。

<Context docBase="../deploy/ExampleApp.war"/>

ここで2つのポイントは無価値です。

まず、前のオプションのようにパスを明示的に指定する必要はありません - Tomcatはそれを ROOT.xml の名前から導き出します。

次に、 server.xml とは異なるファイルでコンテキストを定義しているので、 docBase $ CATALINA HOME \ webApps__の外側になければなりません。

6.まとめ

このチュートリアルでは、TomcatのルートにWebアプリケーションをデプロイする方法のさまざまなオプションについて説明しました。

前の投稿:Java EE JTAガイド
次の投稿:Spring Security - Persistent Remember Me