アプリケーションは、コンテキスト パス "/environame/appname" の Tomcat6 にデプロイされます。
<Context
...
path="/environame/appname"
...
</Context>
しかし、次の URL を使用してアプリケーションにアクセスできません。
「environame」と「appname」の間にスラッシュの代わりにアンダースコアを使用する必要があります。
Tomcat 5 の動作は異なります。
Tomcat 5 の場合、URL にアンダースコアはありません。
"environame" と "appname" の間でアンダースコアの代わりにスラッシュを使用してアプリケーションにアクセスするには、アプリケーションまたは Tomcat 6 の構成で何を変更する必要がありますか?
アップデート:
pathこの Web アプリケーションのコンテキスト パス。処理する適切な Web アプリケーションを選択するために、各要求 URI の先頭と照合されます。特定のホスト内のすべてのコンテキスト パスは一意である必要があります。空の文字列 ("") のコンテキスト パスを指定すると、このホストのデフォルトの Web アプリケーションが定義され、他のコンテキストに割り当てられていないすべての要求が処理されます。
このフィールドの値は、.xml コンテキスト ファイルまたは docBase に使用されるファイル名から推測されるため、server.xml でコンテキストを静的に定義する場合を除き、設定しないでください。
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
コンテキスト xml ファイルを $CATALINA_HOME/conf/Catalina/localhost/environame_appname.xml ファイルに保存します。Tomcat 5.0.28 は Context 要素の path 属性を使用します。
Tomcat 6 はコンテキスト xml ファイルの名前を使用します。
xontext xml ファイルの名前の代わりにパス属性を使用するように構成を変更することは可能ですか?
回答:
バグbug#46713があります
パス属性がコンテキスト xml のコンテキスト タグ内に設定されている場合、それは無視されます。代わりに、パスは "/" + に設定されます。'/' を含むパスであっても、'/' を '#' に置き換えることでファイル名にエンコードできるのは良いことですが、既存のパス属性が単純に無視されるのは非常に混乱を招きます。
そのため、コンテキスト xml ファイルの名前をenvironname#appname.xml に変更するだけです。