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の起動が遅い問題を素早く解決、超簡単

今日、私はクラスメートが問題を解決するのを手伝いました - Tomcat の起動が非常に遅く、約 5...

Angular の 12 の典型的な問題について簡単に説明します

目次1. Angular 2 アプリケーションのライフサイクル フックとは何ですか? 2. Angu...

モバイル端末の適応に関する簡単な説明

序文フロントエンド コードの記述では、「互換性」という言葉から逃れることはできません。過去の PC ...

Mysqlデータベースの文字化けに対処する方法

MySQL では、データベースの文字化けは一般的に文字セットを設定することで修正できますが、文字化け...

Dockerでボリュームを管理する2つの方法

前回の記事では、Dockerの基礎知識であるローカルディレクトリのマウント方法を紹介しました。今日は...

トリガーメソッドを使用して、ファイルタイプの入力をクリックせずにポップアップファイル選択ダイアログボックスを実現します。

トリガー メソッドを使用できます。JavaScript にはネイティブのトリガー関数はありません。自...

CSSの絶対と相対について

冒頭にこう書かれています:アブソリュートは言った。「親戚よ、私はあなたを私の人生で見たくない!」なぜ...

CSS3 は本当に SCSS に取って代わるのでしょうか?

Web ページのスタイル設定に関しては、プロジェクトで純粋な CSS または SCSS (および他...

WeChatアプレットの世界的な状況の詳細な説明

序文WeChat アプレットでは、App.js の globalData を中間ブリッジとして使用し...

Mybatis での動的 SQL ステートメント分析

この記事は主にMybatisでの動的SQL文の解析について紹介します。この記事のサンプルコードは非常...

jsはaudioContextを通じて3Dサウンド効果を実現します

この記事では、audioContextを介して3Dサウンド効果を実現するためのjsの具体的なコードを...

MySQL InnoDBストレージエンジンについて簡単に説明します

序文:ストレージ エンジンはデータベースの中核です。MySQL の場合、ストレージ エンジンはプラグ...

モバイルウェブ画面適応(rem)

序文最近、フロントエンドの学習に関する以前のメモを整理したところ、モバイル Web 画面の適応 (r...

MySQL データベースは何をしますか?

MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...

画像内のrarファイルを隠す方法

このロゴを .rar ファイルとしてローカルに保存し、解凍して効果を確認することができます。よりシン...