Webアプリケーションにおけるコンテキストパスの設定の詳細な説明

Webアプリケーションにおけるコンテキストパスの設定の詳細な説明

URL: http://hostname.com/contextPath/servletPath/pathInfo

桟橋

contextPath が指定されていない場合は、デフォルトでルート コンテキストが使用され、ルート コンテキストのパスは "/" になります。

戦争名.戦争

XML IoC ファイルなし:

  • WAR ファイル名が myapp.war の場合、コンテキスト パスは /myapp になります。
  • WAR ファイル名が ROOT.war の場合、コンテキスト パスは次のようになります: /;
  • WAR ファイル名が ROOT-foobar.war の場合、コンテキスト パスは / で、仮想ホストは foobar です。

WEB-INF/jetty-web.xml

<configureclass="org.eclipse.jetty.webapp.WebAppContext"> を設定します。
  <Setname="contextPath">/テスト</Set>
  ...
</構成>

トムキャット

個々の <context> 要素は、さまざまな方法で定義できます。

  • Web アプリケーションの /META-INF/context.xml ファイルで定義されます。ホストの copyXML 属性が true の場合、context.xml ファイルは $CATALINA_BASE/conf/[enginename]/[hostname] ディレクトリにコピーされ、名前が変更されます。命名規則は、/META-INF/context.xml セクションの説明を参照します。
  • XML ファイルを $CATALINA_BASE/conf/[enginename]/[hostname] ディレクトリに直接配置します。ファイル名の指定と内容は、META-INF/context.xml セクションの説明を参照してください。このファイルは /META-INF/context.xml よりも優先度が高くなります。
  • Tomcat サーバーの conf/server.xml ファイルの <Host> 要素に <Context> 要素を定義します。

META-INF/context.xml

コンテキスト名、コンテキスト パス、コンテキスト バージョン、およびベース ファイル名の間には密接な関係があります。

  • コンテキストバージョンがない場合、コンテキスト名とコンテキスト パスは同じになります。
  • contextpath が空の文字列の場合、ベース名は ROOT になります。
  • contextpath が空の文字列でない場合、ベース名 = コンテキスト パスとなり、最初の / 文字が削除され、/ 文字が # 文字に置き換えられます。

例えば:

コンテキストパスコンテキストバージョンコンテキスト名ベースファイル名ファイル名の例(.xml、.war、ディレクトリ)
/ フーなし/ フーフーfoo.xml、foo.war、foo
/foo/バーなし/foo/バーフー#バーfoo#bar.xml、foo#bar.war、foo#bar
空の文字列なし空の文字列ROOT.xml、ROOT.war、ROOT
/ フー42 /foo##42フー##42 foo##42.xml、foo##42.war、foo##42
/foo/バー42 /foo/バー##42フー#バー#42 foo#bar##42.xml、foo#bar##42.war、foo#bar##42
空の文字列42 ##42ルート##42 ROOT##42.xml、ROOT##42.war、ROOT##42

サーバー.xml

conf/server.xml ファイルに <context> 要素を追加することはお勧めしません。このファイルは Tomcat を再起動することによってのみ再読み込みできるため、他の WebAPP の通常の使用に影響します。

デフォルトの context.xml

Tomcat には、すべてのアプリケーションに適用されるデフォルトのコンテキスト要素がありますが、その優先順位も最も低く、すべての構成はアプリケーションによって上書きされる可能性があります。

デフォルトの context.xml ファイルは 2 つあります。

  • 1 つは $CATALINA_BASE/conf/context.xml です。このコンテキスト要素の情報は、すべてのアプリケーションによって読み込まれます。
  • 1 つは $CATELINA_BASE/conf/[enginename]/[hostname]/context.xml.default です。この <context> 要素の情報は、この仮想ホスト内のすべてのアプリケーションによって読み込まれます。

Web アプリケーションでのコンテキスト パスの設定に関するこの記事はこれで終わりです。Web アプリケーションでのコンテキスト パスの設定の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Springcloud ゲートウェイはコンテキストパス操作を設定します
  • 一時パスを取得するための getServletContext().getRealPath に関する Spring Boot 組み込み Tomcat の問題を分析する
  • Springboot 2.x での server.servlet.context-path の使用に関する詳細な説明
  • JavaScript における ${pageContext.request.contextPath} 値の問題と解決方法

<<:  vue3.0プロジェクトアーキテクチャを段階的に構築する方法を教えます

>>:  MySQL シリーズ 6 のユーザーと認証

推薦する

Tomcat をアンインストールして再インストールする方法 (画像とテキスト付き)

tomcat9をアンインストールする1. Tomcatのインストールはディレクトリに解凍するだけで...

CentOS はローカル yum ソースを使用して LAMP 環境を構築するグラフィック チュートリアル

この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...

ECMAScriptにおけるプリミティブ値と参照値の詳しい説明

目次序文動的プロパティとは何ですか?値のコピー値の種類を決定する要約する序文これは JavaScri...

テーブルの幅を固定して、テキストによって幅が変わらないように設定

ページ内のテーブルの幅を width="600px" に設定した後も、幅が固定さ...

MySQL データベースのバックアップとリカバリの実装コード

データベースのバックアップ #文法: # mysqldump -h server-u usernam...

JavaScript イベントの概念の詳細な説明 (静的登録と動的登録の区別)

目次js のイベントイベントタイプ一般的なイベントイベント登録静的および動的登録の例onload 読...

CSSブレンドモードとSVGを使用して、製品画像の色を動的に変更します。

数日前、Codepen で @Kyle Wetton が書いた、CSS ブレンディング モードと S...

vue-qr を使用して Vue の QR コードを生成する方法について深く理解する

目次npm ダウンロードステップ(1)輸入(2)vue-qrパラメータ例要約する「QRコード」の英語...

Celery と Docker を使用して Django で定期的なタスクを処理する方法

Django アプリケーションを構築して拡張していくと、必然的に特定のタスクをバックグラウンドで自動...

nginxはdockerコンテナ内に設定ファイルを自動的に生成します

企業が Docker 自動デプロイメントを構築する場合、Docker の実行時にコンテナ内の設定ファ...

MySQL複合インデックスの概要

目次1. 背景2. 複合インデックスを理解する3. 左端一致原則4. フィールド順序の影響5. 単一...

HTML で div を非表示にする テーブルを非表示にする TABLE または DIV コンテンツの CSS スタイル

今夜、数日間悩まされていた問題を解決しました。本当に解決したかどうかはわかりませんが、解決されている...

Navicat は CSV データを MySQL にインポートします

この記事では、Navicatを使用してcsvデータをmysqlにインポートする方法を参考までに紹介し...

vue3で注意すべき2つのポイントを詳しく解説:セットアップ

目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...

js+ca​​nvas でコードレイン効果を実現

この記事では、js+ca​​nvasコードの雨効果の具体的なコードを参考までに共有します。具体的な内...