Tomcat 7.0 で Web アプリケーションのコンテキスト パスを設定する方法 質問する

Tomcat 7.0 で Web アプリケーションのコンテキスト パスを設定する方法 質問する

私は自分のWebアプリ(またはそのWARファイル)の名前を次のように変更できることを知っています。しかし、これは私の意見ではひどいやり方です。Tomcatのドキュメントを確認したところ、

server.xmlファイルに要素を直接配置することは推奨されません。

そこで、提案された別の方法を試してみました。

個々のコンテキスト要素は、アプリケーション ファイル内の /META-INF/context.xml にある個別のファイルで明示的に定義できます。

そこで私は/META-INF/context.xml次のコードを作成しました。

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/"/>

しかし、デプロイ後にサーバーを再起動しても、コンテキストを「/」にロードできず、"/<WEB_APP_NAME>"

何かアドバイスがあれば助かります。

ベストアンサー1

できることは以下のとおりです。

というファイルを追加しROOT.xmlます<catalina_home>/conf/Catalina/localhost/

この ROOT.xml は、そのエンジンとホスト (Catalina と localhost) の Tomcat インストールのルート コンテキストのデフォルト設定を上書きします。

ROOT.xml ファイルに以下を入力します。

<Context 
  docBase="<yourApp>" 
  path="" 
  reloadable="true" 
/>

ここに、<yourApp>あなたのアプリの名前があります。:)

これで、あなたのアプリケーションはデフォルトのアプリケーションとなり、http://localhost:8080

ただし、副作用が 1 つあります。アプリケーションが 2 回ロードされます。 に 1 回localhost:8080、 に 1 回ですlocalhost:8080/yourApp。これを修正するには、アプリケーションを OUTSIDE に配置し<catalina_home>/webapps、ROOT.xml の docBase タグで相対パスまたは絶対パスを使用します。次のようになります。

<Context 
  docBase="/opt/mywebapps/<yourApp>" 
  path="" 
  reloadable="true" 
/>

そうすればすべて大丈夫になるはずです!

おすすめ記事