context.xml

●context.xmlの概要
●context.xmlの設定例
●context.xmlの設定タグ

●context.xmlの概要

 コンテキストとはTomcatで管理されるまとまりのアプリケーションのことを言います。コンテキストには一まとまりのアプリケーションの動作に必要なJSP、サーブレット、HTML、画像、jar、web.xmlなどが含まれます。通常$CATALINA_HOME/webappsディレクトリ配下に設置されます。
 context.xmlにはコンテキストの動作を設定します。これまではコンテキストに関する設定はserver.xmlで行っていました。Tomcat5からコンテキストに関する設定はcontext.xmlで設定するように変更されました。
 context.xmlは$CATALINA_HOME/conf/[engine name]/[host name]ディレクトリ配下に作成します。[engine name]、[host name]はserver.xmlに設定されているengine名、host名です。デフォルトの設定は[engine name]がCatalina、[host name]がlocalhostです。context.xmlのコンテキストの部分は作成するコンテキスト名が入ります。例えばコンテキスト名がjavaroadである場合はjavaroad.xmlになります。
 コンテキストが上記の構成をとった場合、コンテキストの設定ファイルは$CATALINA_HOME/conf/Catalina/localhost/javaroad.xmlとなります。コンテキストの具体的な設定例はJavaの道:Tomcat(プログラム配置・実行)にも記載されています。

●context.xmlの設定例

 context.xmlの設定例について解説します。いくつかのタグはserver.xml、context.xmlの両方で指定できます。そのようなタグをcontext.xmlで指定した場合はそのタグはserver.xmlのタグを上書きし、コンテキスト内の動作に適用されます。

server.xml、context.xmlの両方で指定できるタグ
<Logger>, <Realm>, <Resource>, <ResourceParams>, <Valve>
※その他にも両方で指定できるタグはありますが、context.xml、server.xmlのどちらか一方での利用が想定されているため、ここでは省略します。
<!-- 1.Contextタグの設定 -->
<Context path="/javaroad" docBase="/javaroad" debug="0">
  <!-- 2.Valveタグの設定 -->
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/AccessLog" />
</Context>
●context.xmlの設定タグ

 context.xmlで設定できるタグを以下に記載します。各タグで設定できる属性については解説を省略します。詳細解説を参照してください。

context.xmlの設定例

  
<Context>タグ
内容 context.xmlで最上位のタグです。context.xmlで一つのみ存在します。
要素の数 1つのみ
サブ要素 <Loader>, <Logger>, <Manager>, <Realm>, <Resources>, <Resource>, <ResourceParams>, <Valve>
詳細解説 Tomcatドキュメント:The Context Container

  
<Loader>タグ
内容 クラスを見つけ、ロードするクラスローダをデフォルトのものから変更したい場合に使用します。
要素の数 0または1
サブ要素 無し
詳細解説 Tomcatドキュメント:The Loader Component

  
<Logger>タグ
内容 Tomcatエンジン、Javaアプリケーションが生成するエラーログの生成方法を設定します。
要素の数 0または1
サブ要素 無し
詳細解説 Tomcatドキュメント:The Logger Component

  
<Manager>タグ
内容 HTTPセッションをファイル、データベースに保存する、保持するHTTPセッション数を指定するなどのセッションマネージャを使用する場合に指定します。
要素の数 0または1
サブ要素 <Store>
詳細解説 Tomcatドキュメント:The Manager Component

  
<Store>タグ
内容 セッションマネージャで管理されるHTTPセッションの保存先(ファイル、データベース)を指定します。
要素の数 0または1
サブ要素 無し
詳細解説 Tomcatドキュメント:The Manager Component

  
<Realm>タグ
内容 Tomcatエンジンによって提供される認証方法を設定します。認証はID、Password、ロールによって管理されます。
要素の数 0または1
サブ要素 無し
詳細解説 Javaの道:Tomcat(BASIC認証)
Javaの道:Tomcat(FORM認証)
Javaの道:Tomcat(JDBCレルムによるFORM認証)
Tomcatドキュメント:The Realm Component

  
<Resources>タグ
内容 HTML、画像などの静的なリソースを処理するカスタムなJavaクラスを指定します。
要素の数 0または1
サブ要素 無し
詳細解説 Tomcatドキュメント:The Resources Component

  
<Resource>タグ
内容 JNDIリソースの名前、基本動作を指定します。
要素の数 0以上
サブ要素 無し
詳細解説 Javaの道:Tomcat(JDBC接続)
Tomcatドキュメント:The GlobalNamingResources Component

  
<ResourceParams>タグ
内容 JNDIリソースの詳細動作を指定します。
要素の数 0以上
サブ要素 無し
詳細解説 Javaの道:Tomcat(JDBC接続)
Tomcatドキュメント:The GlobalNamingResources Component

  
<Valve>タグ
内容 <Engine>タグ、<Host>タグ、<Context>タグのサブ要素として設定でき、クライアントに対する送受信データをフィルタし、処理を行います。アクセスログ生成、シングルサインオン、IPアドレス・ホスト名に対するアクセス制御、受信データのダンプを行います。
要素の数 0以上
サブ要素 無し
詳細解説 Javaの道:Tomcat(アクセスログ)
Javaの道:Tomcat(アクセス制限)
Tomcatドキュメント:The Valve Component