ヘッダーをスキップ

Oracle Application Server Containers for J2EE サーブレット開発者ガイド
10gリリース2(10.1.2)
B15633-02
目次
目次
索引
索引

戻る 次へ

6
構成ファイルの説明

この章では、サーブレットとWebサイトを構成する、OC4J構成ファイルの要素および属性について説明します。次の項が含まれます。

global-web-application.xmlおよびorion-web.xmlの構成

次の項では、global-web-application.xmlおよびorion-web.xmlの構成ファイルの詳細を説明します。

これらのファイルの概要は、「OC4JおよびJ2EEのWebディスクリプタ」を参照してください。

global-web-application.xmlおよびorion-web.xmlの要素の説明

この項では、global-web-application.xmlファイルおよびorion-web.xmlファイルの要素と属性について説明します。

この項の要素の説明は、global-web-application.xmlまたはアプリケーション固有のorion-web.xml構成ファイルのいずれかに適用可能です。global-web-application.xmlファイルでグローバル・アプリケーションを構成してデフォルトを設定し、必要に応じて、orion-web.xmlファイルで特定のアプリケーションのデプロイ用にこれらのデフォルトをオーバーライドします。

<orion-web-app ... >

WebアプリケーションのOC4J固有の構成を指定するためのルート要素です。


注意

  • <orion-web-app>要素のautoreload-jsp-pages属性とautoreload-jsp-beans属性は、OC4J JSPコンテナでは現在サポートされていません。autoreload-jsp-pagesと同等の機能を持つJSPのmain_mode構成パラメータを使用できます。このパラメータの詳細は、『Oracle Application Server Containers for J2EE JavaServer Pages開発者ガイド』を参照してください。

  • <servlet-filter>サブ要素と、document-rootget-locale-from-userinternationalize-resourcesおよびdefault-mime-type属性はサポートされていません。

 

<orion-web-app>のサブ要素は次のとおりです。

<classpath>
<context-param-mapping>
<mime-mappings>
<virtual-directory>
<access-mask>
<cluster-config>
<servlet-chaining>
<request-tracker>
<session-tracking>
<resource-ref-mapping>
<env-entry-mapping>
<security-role-mapping>
<ejb-ref-mapping>
<expiration-setting>
<jazn-web-app>
<web-app-class-loader>
<authenticate-on-dispatch>
<web-app>

<orion-web-app>の属性は次のとおりです。

<classpath ... >

この要素を使用して、Webアプリケーションのクラスロードに対する追加コードの場所(ライブラリ・ファイル、または個別のクラス・ファイルの場所のいずれか)をOC4Jに通知します。

<classpath>の属性は次のとおりです。

<context-param-mapping ... >deploymentValue</context-param-mapping>

この要素は、orion-web.xml内で、web.xmlファイルのcontext-param設定の値をオーバーライドします。EARの構成にデプロイ固有の値を直接反映しないようにするために使用します。タグのボディに新しい値を指定します。

<context-param-mapping>の属性は次のとおりです。

<mime-mappings ... >

使用するMIMEマッピングが入っているファイルのパスを定義します。

<mime-mappings>の属性は次のとおりです。

<virtual-directory ... >

たとえば、UNIXシステム上のシンボリック・リンクと理論的には類似した方法で動作し、静的コンテンツに仮想ディレクトリ・マッピングを追加します。仮想ディレクトリを使用すると、WebアプリケーションのWARファイルには物理的に存在しないアプリケーションに使用できる、実際のドキュメント・ルート・ディレクトリのコンテンツを作成できます。これは、たとえば企業全体のエラー・ページを複数のWARファイルにリンクさせる際に役立ちます。

<virtual-directory>の属性は次のとおりです。

<access-mask ... >

このアプリケーションにオプションのアクセス・マスクを指定するには、<access-mask>のサブ要素を使用します。クライアントをフィルタするには、<host-access>サブ要素でホスト名またはドメインを使用するか、<ip-access>サブ要素でIPアドレスとサブネットを使用します。両方を使用することも可能です。

<access-mask>のサブ要素は次のとおりです。

<host-access>
<ip-access>

<access-mask>の属性は次のとおりです。

<host-access ... >

<access-mask>のこのサブ要素は、アクセスの許可または拒否の対象となるホスト名またはドメインを指定します。

<host-access>の属性は次のとおりです。

<ip-access ... >

<access-mask>のこのサブ要素は、アクセスの許可または拒否の対象となる、IPアドレスおよびサブネット・マスクを指定します。

<ip-access>の属性は次のとおりです。

<cluster-config ... >

この要素は、OC4Jクラスタリングを使用する場合のみ使用します。それ以外の場合は、削除またはコメントアウトします。クラスタリングされたアプリケーションでは、クラスタ・アイランド内のクラスタ間で、HTTPセッション・データがレプリケートされます。HTTPセッション・データのオブジェクトは、セッションのレプリケーションの動作に対してシリアライズ可能(直接的または間接的にjava.io.Serializableインタフェースを実装)、またはリモート可能(直接的または間接的にjava.rmi.Remoteインタフェースを実装)である必要があります。

クラスタリングに関する一般的な情報は、『Oracle Application Serverパフォーマンス・ガイド』を参照してください。

<cluster-config>の属性は次のとおりです。

<servlet-chaining ... >

現在のサーブレットのレスポンスが特定のMIMEタイプに設定されているときにコールするサーブレットを指定します。指定されたサーブレットは、現在のサーブレットの後にコールされます。これは、サーブレット・チェーンと呼ばれ、特定の種類の出力をフィルタしたり変換します。


注意

サーブレット・チェーンは、標準サーブレット・フィルタと基本的に同様の機能を持つ旧式のメカニズムです。これは、サーブレット仕様のバージョン2.3で説明されています。かわりにサーブレット・フィルタを使用します。「サーブレット・フィルタ」を参照してください。 


<servlet-chaining>の属性は次のとおりです。

<request-tracker ... >

リクエストのトラッキングに使用するサーブレットを指定します。リクエスト・トラッキングは、ログを記録する場合などに役立ちます。

global-web-application.xmlではなく、orion-web.xmlにすべてのリクエスト・トラッキングを定義する必要があります。これは、<request-tracker>要素が同じアプリケーション内で定義される1つのサーブレットを指し示すためです。

リクエスト・トラッキングは、対応するレスポンスがコミットされるとき(レスポンスが実際に送信される直前)、ブラウザからサーバーに送信される各個別のリクエストに対して起動されます。

リクエスト・トラッキングが複数存在する場合がありますが、各トラッキングは個別の<request-tracker>要素で定義されています。

<request-tracker>の属性は次のとおりです。

<session-tracking ... >

このアプリケーションに対してセッション・トラッキングの設定を指定します。セッション・トラッキングは、Cookie(Cookie対応のブラウザの場合)を使用して行われます。


注意

  • Cookieが無効な場合、セッション・トラッキングを実行できるのは、サーブレットが、レスポンス・オブジェクトのencodeURL()メソッドまたはリダイレクト用のencodeRedirectURL()メソッドを明示的にコールする場合のみです。

  • OC4Jでは、サーブレット・コンテナでセッションIDを自動的にURLにエンコードする、自動エンコーディングはサポートしていません。これは、コストのかかる標準外の処理です。したがって、OC4Jは<session-tracking>属性のautoencode-urlsautoencode-absolute-urlsをサポートしていません。「OC4Jでのセッション・トラッキング」も参照してください。

 

サーブレット・セッションに関する一般的な情報は、「サーブレットのセッション」を参照してください。

セッション・トラッキングに使用するサーブレットは、サブ要素により指定します。

<session-tracking>のサブ要素は次のとおりです。

<session-tracker>

<session-tracking>の属性は次のとおりです。

<session-tracker ... >

<session-tracking>のこのサブ要素は、セッション・トラッカとして使用するサーブレットを指定します。セッション・トラッキングは、たとえば、ログを記録する場合に役立ちます。

global-web-application.xmlではなく、orion-web.xmlですべてのセッション・トラッカを定義する必要があります。これは、<session-tracker>要素が同じアプリケーション内で定義される1つのサーブレットを指し示すためです。

セッション・トラッカは、セッションが作成されると同時に起動されます。特に、HTTPセッション・リスナー(javax.servlet.http.HttpSessionListenerインタフェースを実装するクラスのインスタンス)のsessionCreated()メソッドが起動されると同時に起動されます。

セッション・トラッカが複数存在することがありますが、各トラッカは個別の<session-tracker>要素で定義されます。

<session-tracker>の属性は次のとおりです。

<resource-ref-mapping ... >

この要素を使用して、データ・ソースやJMSキュー、メール・セッションなどの外部リソースへの参照を宣言します。これは、デプロイ時に、リソース参照名をJNDIの場所に関連付けます。

<resource-ref-mapping>のサブ要素は次のとおりです。

<lookup-context>

<resource-ref-mapping>の属性は次のとおりです。

<lookup-context ... >

<resource-ref-mapping>のこのサブ要素は、リソースを取得するために使用するオプションのJNDIコンテキスト(javax.naming.Contextインスタンス)を指定します。これは、サード・パーティ製のモジュール(サード・パーティ製のJMSサーバーなど)に接続する場合に役立ちます。リソース・ベンダーが提供するJNDIコンテキストの実装を使用するか、何も存在しない場合はベンダーのソフトウェアとのネゴシエーションを行う実装を作成します。

<lookup-context>のサブ要素は次のとおりです。

<context-attribute>

<lookup-context>の属性は次のとおりです。

<context-attribute ... >

<lookup-context>のサブ要素(<resource-ref-mapping>のサブ要素)は、サード・パーティなどの外部のJNDIコンテキストに送信する属性を指定します。

JNDIの中で唯一の必須属性はjava.naming.factory.initialで、これはコンテキスト・ファクトリの実装のクラス名です。

<context-attribute>の属性は次のとおりです。

<env-entry-mapping ... >deploymentValue</env-entry-mapping>

orion-web.xml内で、web.xmlファイルのenv-entry設定の値をオーバーライドします。EARの構成にデプロイ固有の値を直接反映しないようにするために使用します。タグのボディに新しい値を指定します。

<env-entry-mapping>の属性は次のとおりです。

<security-role-mapping ... >

特定のユーザーとグループ、または全ユーザーに、セキュリティ・ロールをマップします。web.xmlファイル内の同じ名前のセキュリティ・ロールにマップします。impliesAll属性または適切なサブ要素の組合せ(<group>または<user>、あるいはその両方)を使用する必要があります。

OC4J構成ファイルの<security-role-mapping>要素に関する追加情報は、『Oracle Application Server Containers for J2EE Enterprise JavaBeans開発者ガイド』を参照してください。

<security-role-mapping>のサブ要素は次のとおりです。

<group>
<user>

<security-role-mapping>の属性は次のとおりです。

<group ... >

<security-role-mapping>のサブ要素を使用して、親の<security-role-mapping>要素のセキュリティ・ロールにマップするグループを指定します。指定されたグループの全メンバーがこのロールに含まれます。

<group>の属性は次のとおりです。

<user ... >

<security-role-mapping>のサブ要素を使用して、親の<security-role-mapping>要素のセキュリティ・ロールにマップするユーザーを指定します。

<user>の属性は次のとおりです。

<ejb-ref-mapping ... >

デプロイ時に、<ejb-ref>要素に定義されているEJB参照とJNDIの場所との間のマッピングを作成します。

<ejb-ref>要素は、orion-web.xmlまたはweb.xml<web-app>要素内に置くことができ、EJBへの参照を宣言するために使用します。

<ejb-ref-mapping>の属性は次のとおりです。

<expiration-setting ... >

指定されたリソースのセットに期限を設定します。これは、ブラウザでリソースが期限切れになるまでの期間です。(ブラウザでは、次回のリクエストに応じて期限切れのリソースを再ロードします。)これは、ドキュメントほど頻繁にイメージの再ロードを行わないなどのキャッシュ・ポリシーに役立ちます。

<expiration-setting>の属性は次のとおりです。

<jazn-web-app ... >

この要素を使用して、OracleAS JAAS ProviderおよびSingle Sign-On(SSO)のプロパティをサーブレットの実行用に構成します。特定のセキュリティ・サブジェクトの権限を使用してサーブレットを起動するには、これらの機能を適切に設定する必要があります。

<jazn-web-app>の属性は次のとおりです。

JAASおよびこの要素に関して説明した機能の追加情報は、『Oracle Application Server Containers for J2EEセキュリティ・ガイド』を参照してください。次のサイトでSun社のドキュメントも参照できます。

http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/JAASRefGuide.html
<web-app-class-loader ... >

この要素は、クラスロード指示に使用します。追加情報は、「OC4Jにおけるシステム・クラスより前のWARファイル・クラスのロード」を参照してください。

<web-app-class-loader>の属性は次のとおりです。

<authenticate-on-dispatch ... >

この要素は、転送またはインクルード・ターゲットのOC4J認証の無効化に使用します。

<authenticate-on-dispatch>の属性は次のとおりです。

<web-app ... >

この要素は、標準的なweb.xmlファイルなどで使用します。詳細は、サーブレット仕様を参照してください。global-web-application.xml内で、<web-app>設定のデフォルトを設定できます。web.xmlでは、アプリケーション固有の<web-app>設定によって、デフォルトをオーバーライドできます。orion-web.xmlでは、デプロイ固有の<web-app>設定によって、web.xmlの設定をオーバーライドできます。

global-web-application.xmlおよびorion-web.xmlのDTD

この項では、OC4J 10.1.2実装のglobal-web-application.xmlおよびorion-web.xmlファイルに使用する、DTDのOC4J固有部分について説明します。ここには、web.xmlファイルの標準の<web-app>要素に使用するDTD部分は含まれません。(global-web-application.xmlおよびorion-web.xmlのDTDは標準web.xmlのDTDのスーパーセットです。)

<!ENTITY % CHARSET "CDATA">

<!ENTITY % WEBPATH "CDATA">

<!ENTITY % NUMBER "CDATA">

<!ENTITY % HOST "CDATA">

<!ENTITY % PATH "CDATA">

<!ENTITY % CLASSNAME "CDATA">

<!-- A group that this security-role-mapping implies. Ie all the members of the
 specified group are included in this role. -->
<!ELEMENT group (#PCDATA)>
<!ATTLIST group name CDATA #IMPLIED
>

<!-- An attribute sent to the context. The only mandatory attribute in JNDI is
 the 'java.naming.factory.initial' which is the classname of the context factory
 implementation. -->
<!ELEMENT context-attribute (#PCDATA)>
<!ATTLIST context-attribute name CDATA #IMPLIED
value CDATA #IMPLIED
>

<!-- Defines the relative/absolute path to a file containing mime-mappings to
 use. -->
<!ELEMENT mime-mappings (#PCDATA)>
<!ATTLIST mime-mappings path CDATA #IMPLIED
>

<!-- Specifies a codebase where classes used by this application (such as
 servlets/beans) can be found. -->
<!ELEMENT classpath (#PCDATA)>
<!ATTLIST classpath path CDATA #REQUIRED
>

<!-- The specification of an optional javax.naming.Context implementation used
 for retrieving the resource. This is useful when hooking up with 3rd party
 modules, such as a 3rd party JMS server for instance. Either use the context
 implementation supplied by the resource vendor or if none exists write an
 implementation which in turn negotiates with the vendor software. -->
<!ELEMENT lookup-context (context-attribute+)>
<!ATTLIST lookup-context location CDATA #IMPLIED
>

<!-- Specifies a servlet to use as request-tracker; request-trackers are invoked
 for every request and are useful for logging purposes, for example -->
<!ELEMENT request-tracker (#PCDATA)>
<!ATTLIST request-tracker servlet-name CDATA #IMPLIED
>

<!-- The resource-ref element is used for the declaration of a reference to
 an external resource such as a datasource, JMS queue, mail session or similar.
 The resource-ref-mapping ties this to a JNDI-location when deploying. -->
<!ELEMENT resource-ref-mapping (lookup-context?)>
<!ATTLIST resource-ref-mapping location CDATA #IMPLIED
name CDATA #REQUIRED
>

<!-- Tag that is defined if the application is to be clustered. Clustered
 applications have their ServletContext and session data
 shared between the apps in the cluster, the values have to be either
 Serializable or be remote RMI-objects (implement java.rmi.Remote). -->
<!ELEMENT cluster-config (#PCDATA)>
<!ATTLIST cluster-config host %HOST; "230.0.0.1"
id CDATA "based on local IP"
port %NUMBER; "9127"
>

<!-- Specifies an optional access-mask for this application, hostnames and
 ip/subnets can be used to filter out allowed clients of this application. -->
<!ELEMENT access-mask (host-access*, ip-access*)>
<!ATTLIST access-mask default (allow|deny) "allow"
>

<!-- Overrides the value of an env-entry in the assembly descriptor. It is used
 to keep the .ear (assembly) clean from deployment-specific values. The body is
 the value. -->
<!ELEMENT env-entry-mapping (#PCDATA)>
<!ATTLIST env-entry-mapping name CDATA #IMPLIED
>

<!-- Specifies the Expires setting for a given set of resources, useful for
 caching policies (for instance for browsers not to reload images as frequently
 as documents). -->
<!ELEMENT expiration-setting (#PCDATA)>
<!ATTLIST expiration-setting expires CDATA #IMPLIED
url-pattern CDATA #IMPLIED
>

<!-- Overrides the value of a context-param in the assembly descriptor. It is
 used to keep the .ear (assembly) clean from deployment-specific values. The
 body is the value. -->
<!ELEMENT context-param-mapping (#PCDATA)>
<!ATTLIST context-param-mapping name CDATA #IMPLIED
>

<!-- Session-tracking settings for this application. -->
<!ELEMENT session-tracking (session-tracker*)>
<!ATTLIST session-tracking autoencode-absolute-urls (true|false) "false"
autoencode-urls (true|false) "true"
autojoin-session (true|false) "false"
cookie-domain CDATA #IMPLIED
cookie-max-age %NUMBER; "in memory only"
cookies (enabled|disabled) "enabled"
>

<!-- A user that this security-role-mapping implies. -->
<!ELEMENT user (#PCDATA)>
<!ATTLIST user name CDATA #IMPLIED
>

<!-- Adds a virtual directory mapping, used to include files that doesnt
 physically reside below the document root among the web-exposed files. -->
<!ELEMENT virtual-directory (#PCDATA)>
<!ATTLIST virtual-directory real-path %PATH; #IMPLIED
virtual-path %PATH; #IMPLIED
>

<!-- Specifies an ip/netmask who is allowed access. -->
<!ELEMENT ip-access (#PCDATA)>
<!ATTLIST ip-access ip CDATA #REQUIRED
mode (allow|deny) #REQUIRED
netmask CDATA #IMPLIED
>

<!-- Specifies a servlet to use as chainer for a specified mime-type. Useful to
 filter/transform certain kinds of output. -->
<!ELEMENT servlet-chaining (#PCDATA)>
<!ATTLIST servlet-chaining mime-type CDATA #IMPLIED
servlet-name CDATA #IMPLIED
>

<!-- Specifies a domain or netmask who is allowed access. -->
<!ELEMENT host-access (#PCDATA)>
<!ATTLIST host-access domain CDATA #REQUIRED
mode (allow|deny) #REQUIRED
>

<!-- The ejb-ref element is used for the declaration of a reference to
 another enterprise bean's home. The ejb-ref-mapping ties this to JNDI-location
 when deploying. -->
<!ELEMENT ejb-ref-mapping (#PCDATA)>
<!ATTLIST ejb-ref-mapping location CDATA #IMPLIED
name CDATA #REQUIRED
>

<!-- The runtime mapping (to groups and users) of a role. Maps to a
 security-role of the same name in the assembly descriptor. -->
<!ELEMENT security-role-mapping (group*, user*)>
<!ATTLIST security-role-mapping impliesAll CDATA #IMPLIED
name CDATA #IMPLIED
>

<!-- Specifies a servlet to use as session-tracker; session-trackers are invoked
 as soon as a session is created and are useful for logging purposes, for
 example -->
<!ELEMENT session-tracker (#PCDATA)>
<!ATTLIST session-tracker servlet-name CDATA #IMPLIED
>

<!-- JAZN configuration -->
<!ELEMENT jazn-web-app (#PCDATA)>
<!ATTLIST jazn-web-app auth-method CDATA #IMPLIED
runas-mode (true | false) "false"
doasprivileged-mode (true | false) "true"
>

<!-- Web-app classloader configuration -->
<!ELEMENT web-app-class-loader EMPTY>
<!ATTLIST web-app-class-loader
search-local-classes-first (true | false) "false"
include-war-manifest-class-path (true | false) "true"
>

<!-- Authentication of forward/include targets -->
<!ELEMENT authenticate-on-dispatch EMPTY>
<!ATTLIST authenticate-on-dispatch
value (true | false) "true"
>

<!-- This file contains the orion-specific configuration for a web-application.
 The path to the file is located at
 ORION_HOME/application-deployments/deploymentName/warname(.war)/orion-web.xml
 or (web-app-root/)WEB-INF/orion-web.xml if no deployment-directory is specified
 in server.xml. -->
<!ELEMENT orion-web-app (  classpath*,  context-param-mapping*,  mime-mappings*,
  virtual-directory*,  access-mask?,  cluster-config?,  servlet-chaining*,
  request-tracker*,  session-tracking?,  resource-ref-mapping*,
  security-role-mapping*,  env-entry-mapping*,  ejb-ref-mapping*,
  expiration-setting*,  web-app?, jazn-web-app?, web-app-class-loader?,
  authenticate-on-dispatch? )>
<!ATTLIST orion-web-app autoreload-jsp-beans (true|false) "true"
autoreload-jsp-pages (true|false) "true"
default-buffer-size CDATA "2048"
default-charset %CHARSET; "iso-8859-1"
deployment-version CDATA #IMPLIED
development (true|false) "false"
directory-browsing (allow|deny) "deny"
file-modification-check-interval %NUMBER; "1000"
jsp-cache-directory CDATA #IMPLIED
jsp-cache-tlds (true|on|standard|false|off) "true"
jsp-taglib-locations CDATA #IMPLIED
jsp-print-null (true|false) "true"
jsp-timeout %NUMBER; "0 (never)"
simple-jsp-mapping (true|false) "false"
enable-jsp-dispatcher-shortcut (true|false) "true"
persistence-path CDATA #IMPLIED
servlet-webdir %PATH; "/servlet/"
source-directory CDATA #IMPLIED
temporary-directory CDATA #IMPLIED
>

global-web-application.xmlおよびorion-web.xmlの階層表現

この項では、global-web-application.xmlおよびorion-web.xmlファイルの階層表現について説明します。


注意

わかりやすく説明するために、終了タグは省略されています。 


<orion-web-app default-buffer-size="..." default-charset="..."
               deployment-version="..." development="..."
               source-directory="..." directory-browsing="..."
               file-modification-check-interval="..."
               jsp-print-null="..." jsp-timeout="..." jsp-cache-directory="..."
               jsp-cache-tlds="..." jsp-taglib-locations="..."
               simple-jsp-mapping="..." enable-jsp-dispatcher-shortcut="..."
               persistence-path="..." servlet-webdir="..."
               temporary-directory="...">
     <classpath path="...">
     <context-param-mapping name="...">
     <mime-mappings path="...">
     <virtual-directory real-path="..." virtual-path="...">
     <access-mask default="...">
          <host-access domain="..." mode="...">
          <ip-access ip="..." netmask="..." mode="...">
     <cluster-config host="..." id="..." port="...">
     <servlet-chaining mime-type="..." servlet-name="...">
     <request-tracker servlet-name="...">
     <session-tracking autojoin-session="..." cookies="..."
                       cookie-domain="..." cookie-max-age="...">
          <session-tracker servlet-name="...">
     <resource-ref-mapping location="..." name="...">
          <lookup-context location="...">
               <context-attribute name="..." value="...">
     <env-entry-mapping name="...">
     <security-role-mapping impliesAll="..." name="...">
          <group name="...">
          <user name="...">
     <ejb-ref-mapping location="..." name="...">
     <expiration-setting expires="..." url-pattern="...">
     <jazn-web-app auth-method="..." runas-mode="..."
                   doasprivileged-mode="...">
     <web-app-class-loader search-local-classes-first="..."
                           include-war-manifest-class-path="...">
     <authenticate-on-dispatch value="...">
     <web-app>   AS IN STANDARD WEB.XML

サンプルのglobal-web-application.xmlの設定

これは、デフォルトのglobal-web-application.xmlファイルの簡単な例です。<orion-web-app>属性の設定の一部、MIMEマッピングの設定、およびJSPとRMIのフロントエンド・サーブレットの設定とマッピングを次に示します(どの製品も出荷時に変更されることがあります)。

<?xml version="1.0" standalone='yes'?>
<!DOCTYPE orion-web-app PUBLIC '//Evermind//Orion web-application'
 'http://xmlns.oracle.com/ias/dtds/orion-web.dtd'>

<orion-web-app
   jsp-cache-directory="./persistence"
   servlet-webdir="/servlet"
   development="false"
   jsp-timeout="0"
   jsp-taglib-locations="./jsp/lib/taglib"
>

   <!-- The mime-mappings for this server -->
   <mime-mappings path="./mime.types" />

   <web-app>

      <servlet>
         <servlet-name>jsp</servlet-name>
         <servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
         <load-on-startup>0</load-on-startup>
         <!-- you can disable page scope listener if you
              don't need this function. -->
         <init-param>
            <param-name>check_page_scope</param-name>
            <param-value>true</param-value>
         </init-param>
         <!-- you can set main_mode to "justrun" to speed up
              JSP dispatching, if you don't need to recompile
              your JSP anymore. You can always switch your
              main_mode. Please see our doc for details -->
         <!--
         <init-param>
            <param-name>main_mode</param-name>
            <param-value>justrun</param-value>
         </init-param>
         -->
      </servlet>

      <servlet-mapping>
         <servlet-name>jsp</servlet-name>
         <url-pattern>/*.jsp</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
         <servlet-name>jsp</servlet-name>
         <url-pattern>/*.JSP</url-pattern>
      </servlet-mapping>

      <servlet>
         <servlet-name>rmi</servlet-name>
         <servlet-class>
            com.evermind.server.rmi.RMIHttpTunnelServlet
         </servlet-class>
      </servlet>
      <servlet-mapping>
         <servlet-name>rmi</servlet-name>
         <url-pattern>/*.tunnelrmi</url-pattern>
      </servlet-mapping>

   </web-app>
</orion-web-app>

WebサイトのXMLファイルの構成

次の項では、Oracle Application Server環境用のdefault-web-site.xml、およびOC4Jスタンドアロン環境用のhttp-web-site.xmlを含む、WebサイトのXML構成ファイルの詳細を説明します。

これらのファイルの概要は、「OC4J Webサイト・ディスクリプタ」を参照してください。

WebサイトXMLファイルの要素の説明

この項の要素の説明は、default-web-site.xml(Oracle Application Server)、http-web-site.xml(OC4Jスタンドアロン)および任意のOC4J WebサイトのXMLファイルに適用されます。

<web-site ... >

OC4J Webサイトを構成するルート要素です。

<web-site>のサブ要素は次のとおりです。

<description>
<frontend>
<web-app>
<default-web-app>
<user-web-apps>
<access-log>
<odl-access-log>
<ssl-config>

<web-site>の属性は次のとおりです。

  • protocol: Webサイトが使用しているプロトコルを指定します。可能な値は、httpおよびajp13(AJPではデフォルト)です。Oracle Application Serverの本番環境では、ajp13設定のみを使用してください。AJPは、Oracle HTTP Serverとmod_oc4jとともに使用します。各プロトコルには対応するポートが、各ポートには対応するプロトコルが必要です。

    http設定はOC4Jスタンドアロンで使用されます。

    ajp13またはhttp設定のいずれかをセキュア・モード(SSL)で使用するには、secureフラグをtrueに設定し、<ssl-config>サブ要素を使用してキーストア・パスおよびパスワードを指定する必要があります。この要素については、この項の後半で説明します。

  • port: このWebサイトのポート番号を指定します。各ポートには対応するプロトコルが、各プロトコルには対応するポートが必要です。OC4Jスタンドアロンでは、デフォルトでport設定8888を使用して、OC4Jリスナーに直接アクセスします。これは、必要に応じて変更できます。

    Oracle Application Server環境では、このポート設定はOracle Process Management and Notification(OPMN)システムでオーバーライドされます。Oracle Application Serverでは、ポート7777がデフォルトで使用され、Oracle Application Server Web Cacheが有効なOracle HTTP Serverを経由してアクセスします。


    重要

    UNIX環境では、1024未満のポート番号へのアクセスにはroot権限が必要です。また、クライアント・ブラウザからポートの指定がない場合、ポート80はHTTPプロトコル用であり、ポート443はHTTPS用となることに注意してください。 


  • use-keep-alives: サーブレット・コンテナの一般的な動作は、リクエストが完了した後に接続をクローズすることです。ただし、use-keep-alives設定をtrueにすることにより、リクエスト間で接続が維持されます。AJPプロトコルの場合は、常に接続が維持され、この属性は無視されます。その他のプロトコルのデフォルトはtrueで、これを無効化するとパフォーマンスが大幅に低下します。

  • virtual-hosts: このオプションの設定は、同じIPアドレスを共有する仮想サイトに役立ちます。値は、このWebサイトに関連付けられているホスト名の、カンマ区切りのリストです。

    <description>Description here.</description>

    この要素のボディを使用して、Webサイトの簡単な説明を記述できます。

    <frontend ... >

    HTTPクライアントにより表示されるWebサイトの、認識可能なフロントエンド・ホストおよびポートを指定します。サイトがロード・バランサまたはファイアウォールの後ろにある場合、URLリライティングなどの機能に対するWebアプリケーション・コードに適切な情報を与えるには、必ず<frontend>を指定する必要があります。アプリケーションを実行中のバックエンド・サーバーは、<frontend>要素に指定されているホストとポートを使用し、URLリライティングではサーバー自体ではなく、参照先のフロントエンドを認識します。したがって、後続のリクエストは、バックエンドに直接アクセスすることなく、フロントエンドから適切に受信されます。

    <frontend>の属性は次のとおりです。

    <web-app ... >

    この要素は、特定のWebモジュールをこのWebサイトにバインドします。また、server.xmlファイルからJ2EEアプリケーションのアーカイブの名前(.ear拡張子がないEARファイル名)、およびJ2EEアプリケーション内のWebモジュールの名前を指定します。Webモジュールは、アプリケーションのEARファイル(または、EARファイルのorion-application.xmlファイル)にある、J2EEのapplication.xmlファイルで定義されます。Webモジュールは、<web-app>要素のroot属性により指定された場所にバインドされます。


    注意

    EARファイル内のWARファイルではなく、WARファイル単独でデプロイできます。OC4Jスタンドアロンでは、このようなWebアプリケーションはOC4Jのデフォルトのアプリケーションに追加されます。(OC4Jでは、常になんらかの親アプリケーションが存在する必要があります。)詳細は、「OC4JのデフォルトのアプリケーションおよびデフォルトのWebアプリケーション」を参照してください。

    この使用例では、WebサイトのXMLファイルの<web-app>要素は、J2EEアプリケーションのアーカイブ名ではなくデフォルトのアプリケーション名を指定します。詳細は、次の属性の説明および例に示します。 


    特にapplicationおよびname属性に関するWebサイトのXMLファイルへのマッピングとWebサイトのXMLファイルからのマッピングについては、このマニュアルの他の章で例を示します。「例: Webサイト・ディスクリプタへのマッピングとWebサイト・ディスクリプタからのマッピング」(EARファイル内のWARファイルをデプロイする典型的な手順)、および「OC4Jスタンドアロンへの独立したWARファイルのデプロイ」(WARファイル単独でOC4Jのデフォルトのアプリケーションにデプロイする手順)を参照してください。

    <web-app>の属性は次のとおりです。

    <default-web-app ... >

    このWebサイトのデフォルトのWebアプリケーションに対する参照を作成します。ユーザーにとって、これはOC4Jスタンドアロン環境でのみ役立ちます。詳細は、「OC4JのデフォルトのアプリケーションおよびデフォルトのWebアプリケーション」を参照してください。

    Oracle Application Server環境では、OC4JのデフォルトのWebアプリケーションにはシステム・レベルの機能がありますが、この機能は、他には役立ちません。「Oracle Application ServerでのOC4JのデフォルトWebアプリケーション」を参照してください。

    <default-web-app>要素では、前述の<web-app>要素と同じ属性を使用しますが、load-on-startupのデフォルトの設定がtrueであることに注意してください。

    <user-web-apps ... >

    この要素は、ユーザー・ディレクトリとアプリケーションをサポートするために使用します。各ユーザーには、自分のWebモジュールおよび関連するweb-application.xmlファイルがあります。ユーザー・アプリケーションは、サーバー・ルートの/username/に置かれます。

    <user-web-apps>の属性は次のとおりです。

    <access-log ... >

    この要素を使用して、このWebサイトのテキストベースのアクセス・ロギングを有効にし、アクセス・ログに関する情報(パス、ファイル名および含まれる情報など)を指定します。ログ・ファイルは受信リクエスト(Webサイトの各アクセス)のログが記録される場所にあります。

    かわりに、ODLロギングには<odl-access-log>要素(次に説明します)を使用します。ODLの詳細は、「Oracle Diagnostic Loggingとテキストベースのロギング」を参照してください。


    注意

    • どのWebアプリケーションでも、WebサイトのXMLファイルでそのWebアプリケーションの<web-app>要素にaccess-log="false"と設定すれば、<access-log>要素をオーバーライドし、アクセス・ロギングを無効にできます。

    • <access-log>および<odl-access-log>の両方を使用しないでください。ロギングに使用できるタイプは1つのみです。(WebサイトのXMLファイルの最後の要素は優先されますが、この動作には頼らないでください)。

     

    <access-log>の属性は次のとおりです。

    <odl-access-log ... >

    この要素を使用して、Webサイトに対するODLベースのアクセス・ロギングを有効にし、アクセス・ログに関する情報(パス、各ファイルのサイズの最大値およびログ・ディレクトリ内の全ファイルの合計サイズを含む)を指定します。ログ・ファイルは受信リクエスト(Webサイトの各アクセス)のログが記録される場所にあります。

    かわりに、テキスト・ベースのロギングには(前述の)<access-log>要素を使用します。

    ODLの詳細は、「Oracle Diagnostic Loggingとテキストベースのロギング」を参照してください。


    注意

    • どのWebアプリケーションでも、WebサイトのXMLファイルでそのWebアプリケーションの<web-app>要素にaccess-log="false"と設定すれば、<odl-access-log>要素をオーバーライドし、アクセス・ロギングを無効にできます。

    • <access-log>および<odl-access-log>の両方を使用しないでください。ロギングに使用できるタイプは1つのみです。(WebサイトのXMLファイルの最後の要素は優先されますが、この動作には頼らないでください)。

     

    <odl-access-log>の属性は次のとおりです。

    <ssl-config ... >

    この要素はSSL構成設定を、必要に応じて指定します。<web-site>要素のsecure属性をtrueに設定する場合は、これを常に使用する必要があります。

    関連情報については、「サーブレットのセキュリティ」を参照してください。

    <ssl-config>のサブ要素は次のとおりです。

    <property>
    
    

    <ssl-config>の属性は次のとおりです。

    <property ... >

    <ssl-config>要素の<property>サブ要素を使用して、必要に応じてサード・パーティのSSLServerSocketFactory実装にパラメータを渡します。

    <property>の属性は次のとおりです。

    WebサイトのXMLファイルのDTD

    この項では、OC4J 10.1.2実装のdefault-web-site.xmlおよびhttp-web-site.xmlを含む、WebサイトのXML構成ファイルのDTDについて説明します。

    <!ENTITY % WEBPATH "CDATA">
    
    <!ENTITY % NUMBER "CDATA">
    
    <!ENTITY % HOST "CDATA">
    
    <!ENTITY % BOOLEAN "true|false">
    
    <!ENTITY % PATH "CDATA">
    
    <!-- When enabled user dirs/apps will be supported. Each user has his own
     private web-application (and connected web-application.xml file).
     The user apps are reached at /~username/ from the server root. -->
    <!ELEMENT user-web-apps (#PCDATA)>
    <!ATTLIST user-web-apps max-inactivity-time CDATA "no shutdown"
    path %PATH; #IMPLIED
    >
    
    <!-- Reference to the default <a class="link"
     href="web.xml.html">web-application</a> of this site. This application will be
     bound to the root of the site. -->
    <!ELEMENT default-web-app (#PCDATA)>
    <!ATTLIST default-web-app application CDATA #IMPLIED
    load-on-startup (true|false) "true"
    max-inactivity-time %NUMBER; #IMPLIED
    name CDATA #IMPLIED
    root %WEBPATH; #IMPLIED
    shared (true|false) "false"
    >
    
    <!-- A short description of this web-site. -->
    <!ELEMENT description (#PCDATA)>
    
    <!-- Relative/absolute path to the access-log for this site, this is where
     incoming requests will be logged. -->
    <!ELEMENT access-log (#PCDATA)>
    <!ATTLIST access-log format CDATA "$ip - $user - [$time] '$request' $status
     $size"
    path CDATA #IMPLIED
    split (none|hour|day|week|month) "none"
    suffix CDATA #IMPLIED
    >
    
    <!-- An ODL formated log file. The max-file-size is the maximum number of
     kilobytes a single log file is allowed to grow to. The max-directory-size is
     the maximum number of kilobytes that the directory is allowed to contain. -->
    <!ELEMENT odl-access-log (#PCDATA)>
    <!ATTLIST odl-access-log path CDATA #REQUIRED max-file-size CDATA #IMPLIED
     max-directory-size CDATA #IMPLIED>
    
    <!-- Reference to a <a class="link" href="web.xml.html">web-application</a>.
     This application will be bound at the location specified by the 'root'
     attribute. -->
    <!ELEMENT web-app (#PCDATA)>
    <!ATTLIST web-app application CDATA #IMPLIED
    load-on-startup (true|false) "false"
    access-log (true|false) "true"
    max-inactivity-time %NUMBER; "no shutdown"
    name CDATA #IMPLIED
    root %WEBPATH; #IMPLIED
    shared (true|false) "false"
    >
    
    <!-- A configuration parameter. -->
    <!ELEMENT property (#PCDATA)>
    <!ATTLIST property name CDATA #IMPLIED
    value CDATA #IMPLIED
    >
    
    <!-- Specifies SSL-configuration settings. These settings are used if
    secure="true" is specified on the site.
    If a 3rd party SSLServerSocketFactory implementation is used then x property
    tags can be defined to send arbitary arguments to the factory. -->
    <!ELEMENT ssl-config (property*)>
    <!ATTLIST ssl-config factory CDATA
     "com.evermind.server.JSSESSLServerSocketFactory"
    keystore CDATA #IMPLIED
    keystore-password CDATA #IMPLIED
    needs-client-auth (true|false) "false"
    provider CDATA #IMPLIED
    >
    
    <!-- The frontend tag describes which IP, port, and so on that HTTP clients
     perceive this site to be. This is needed when acting behind a load balancer or
     firewall in order to provide the correct info to web-app code when rewriting
     URLs -->
    <!ELEMENT frontend (#PCDATA)>
    <!ATTLIST frontend host CDATA #IMPLIED
    port CDATA #IMPLIED
    >
    
    <!-- This file contains the configuration for a web-site. -->
    <!ELEMENT web-site (description?, frontend?, default-web-app, web-app*,
     user-web-apps?, access-log?, odl-access-log?, ssl-config?)>
    <!ATTLIST web-site cluster-island CDATA #IMPLIED
    display-name CDATA #IMPLIED
    protocol CDATA #IMPLIED
    host %HOST; "[ALL]"
    log-request-info (true|false) "false"
    max-request-size CDATA #IMPLIED
    port %NUMBER; "80"
    secure (true|false) "false"
    use-keep-alives CDATA #IMPLIED
    virtual-hosts CDATA #IMPLIED
    >
    

    WebサイトのXMLファイルの階層表現

    この項では、default-web-site.xmlおよびhttp-web-site.xmlを含む、WebサイトのXML構成ファイルの階層表現について説明します。


    注意

    わかりやすく説明するために、終了タグは省略されています。 


    <web-site cluster-island="..." display-name="..." host="..."
              log-request-info="..." max-request-size="..." secure="..."
              protocol="..." port="..." use-keep-alives="..."
              virtual-hosts="...">
         <description>
         <frontend host="..." port="...">
         <web-app application="..." load-on-startup="..." access-log="..."
                  max-inactivity-time="..." name="..." root="..." shared="...">
         <default-web-app application="..." load-on-startup="..."
                  max-inactivity-time="..." name="..." root="..." shared="...">
         <user-web-apps max-inactivity-time="..." path="...">
         <access-log format="..." path="..." split="..." suffix="...">
         <odl-access-log path="..." max-file-size="..." max-directory-size="...">
         <ssl-config keystore="..." keystore-password="..."
                     needs-client-auth="..." provider="..." factory="...">
              <property name="..." value="...">
    

    サンプルのdefault-web-site.xmlファイル

    これは、Oracle Application Server環境のOC4Jで提供されるデフォルト・ファイルに類似した、サンプルのdefault-web-site.xmlファイルです。

    <?xml version="1.0" standalone='yes'?>
    <!DOCTYPE web-site PUBLIC "Oracle Application Server XML Web-site"
     "http://xmlns.oracle.com/ias/dtds/web-site.dtd">
    
    <web-site host="myhost" port="0"  protocol="ajp13"
              display-name="Default Oracle Application Server Java WebSite"
              cluster-island="1" >
    
       <!-- Uncomment the following line when using clustering -->
       <!-- <frontend host="your_host_name" port="80" /> -->
       <!-- The default web-app for this site, bound to the root -->
       <default-web-app application="default" name="defaultWebApp" root="/j2ee" />
       <web-app application="default" name="dms" root="/dmsoc4j" />
       <web-app application="default" name="admin_web" root="/adminoc4j" />
    
       <!-- Access Log, where requests are logged to -->
       <access-log path="../log/default-web-access.log" />
    
       <!-- Uncomment this if you want to use ODL logging capabilities
       <odl-access-log path="../log/default-web-access" max-file-size="1000"
                       max-directory-size="10000"/>
       -->
    
    </web-site>
    

  • 戻る 次へ
    Oracle
    Copyright © 2002, 2005 Oracle Corporation.

    All Rights Reserved.
    目次
    目次
    索引
    索引