これをどのように設定すればよいですか?
使用するサーバーによって異なります。これは WAR 内から制御できません。コンテキスト パスの設定方法については、サーバー固有のドキュメントを参照してください。
したがって、これは、 webappのコードと Java ソース コードでコンテキスト パスをハードコーディングしてはならないことgetContextPath()
を意味することに注意してください。またはプレーン、、などの要素で印刷します。HttpServletRequest
ServletContext
<h:outputStylesheet>
<h:outputScript>
<h:graphicImage>
<h:link>
<h:button>
#{request.contextPath}
<a>
<link>
context.xml (プロジェクト ディレクトリ内) で path 属性を path="/" として指定することで、これを実現する方法を見つけました。しかし、これが最善の方法であるかどうかわかりませんか?!
これは、Tomcat にとって特に正しい方法です。
別の方法として、WAR ファイルの名前を に変更します( Tomcat のデフォルト ホームページを表すROOT.war
古いフォルダーを削除/名前変更します)。apache-tomcat/webapps/ROOT
しかし、これは一般的にやや不器用です。一般に、WAR のより具体的なファイル名が必要です。多くの場合、ビルド バージョンを含めて、ジョブをcontext.xml
.
もう 1 つの方法は、Tomcat インスタンスの前にHTTPDインスタンスを配置することです。これは、ほとんどの実動サーバーが行うことでもあります。これには、特別な「申し訳ありませんが、この Web サイトはメンテナンス中です。後で戻ってきてください!」を表示するように HTTPD を構成できるという追加の利点があります。Tomcat をシャットダウン/再起動/再展開するときに表示される HTTP 503 エラー ページとしてのページ。
もう 1 つの懸念事項は、以前は localhost:8080 でアクセスできた Tomcat サーバーのルート ページにどのようにアクセスするかということです。
apache-tomcat/webapps/ROOT
フォルダの名前を、新しいコンテキスト パスを表す目的の名前に変更するだけです。たとえばapache-tomcat/webapps/tomcathome
、これを で利用できるようにする必要がありますhttp://localhost:8080/tomcathome
。