これをどのように設定すればよいですか?
使用するサーバーによって異なります。これは WAR 内から制御できません。コンテキスト パスの設定方法については、サーバー固有のドキュメントを参照してください。
したがって、これは、 webappのコードと Java ソース コードでコンテキスト パスをハードコーディングしてはならないことgetContextPath()を意味することに注意してください。またはプレーン、、などの要素で印刷します。HttpServletRequestServletContext<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。