ヘッダーをスキップ

Oracle Containers for J2EE サーブレット開発者ガイド
10g(10.1.3.1.0)

B31859-01
目次
目次
索引
索引

戻る 次へ

B Webモジュールの構成ファイル

この付録では、OC4J固有のWebモジュール構成ファイルのglobal-web-application.xml(グローバルおよびデフォルト構成用)およびorion-web.xml(アプリケーション・レベル構成用)に関する参照情報を提供します。各ファイルの概要と、それらの標準web.xmlファイルとの関係についても説明します。

Webアプリケーションの構成ファイルの概要

Webディスクリプタは、静的ページ、サーブレットおよびJSPページからなるJ2EEのWebコンポーネントのセットを指定および構成します。 各Webコンポーネントは互いに組み合されて独立したWebアプリケーションを形成し、独立したWARファイルにデプロイされます。ただし、通常は、これらのコンポーネントはJ2EEアプリケーションのEARファイル内のWARファイルにデプロイされて、J2EEアプリケーション全体の一部を形成します。

OC4Jでは、3つのカテゴリのWebディスクリプタを使用します。次の項では、各カテゴリの説明と、カテゴリ間の関係についてまとめています。

標準web.xml構成ファイル

サーブレット仕様には、web.xmlと呼ばれるWebディスクリプタの概要およびXSDが定義されています。このディスクリプタは、関連するWARファイルの/WEB-INFディレクトリに配置する必要があります。web.xmlファイルは、WARファイルのWebコンポーネント、およびWebコンポーネントによってコールされるEJBなどの他のコンポーネントを指定および構成します。詳細は、サーブレット仕様を参照してください。

次に、サンプルweb.xml構成の中の、特にサーブレット、サーブレット・マッピングおよびローカルEJBルックアップを指定している箇所を示します。

<web-app>
   <display-name>stateful, web-app:</display-name>
   <description>no description</description> 
   <welcome-file-list>
      <welcome-file>index.html</welcome-file>
   </welcome-file-list>

   <ejb-local-ref>
      <ejb-ref-name>CartBean</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
      <local-home>cart.CartHome</local-home>
      <local>cart.Cart</local>
   </ejb-local-ref>

   <servlet>
      <servlet-name>cart</servlet-name>
      <servlet-class>cart.CartServlet</servlet-class>
      <init-param>
         <param-name>param1</param-name>
         <param-value>1</param-value>
      </init-param>
   </servlet>
   <servlet-mapping>
      <servlet-name>cart</servlet-name>
      <url-pattern>/cart</url-pattern>
   </servlet-mapping>
   <security-role>
      <role-name>users</role-name>
   </security-role>
</web-app>

Oracleのglobal-web-application.xml構成ファイル

OC4Jのserver.xmlファイルでは、<global-web-app-config>要素を使用して、OC4JグローバルWebアプリケーション・ディスクリプタが指定されます。通常、global-web-application.xmlは、server.xmlと同じディレクトリにあります。このディスクリプタでは、OC4JにおけるWebアプリケーションのデフォルトの動作を定義します。

グローバルWebアプリケーション・ディスクリプタは、XSDのorion-web.xsdで定義されています。このXSDは、次項の「Oracleのorion-web.xml構成ファイル」で説明する、アプリケーション・レベルのOC4J固有のディスクリプタorion-web.xmlのXSDと同一です。

orion-web XSDは、web.xml用の標準XSDのスーパーセットです。 orion-web XSD内のトップレベル要素<orion-web-app>のサブ要素<web-app>は、web.xmlのトップレベル要素<web-app>と同じ仕様です。<orion-web-app>には、この他にもOC4J固有の機能を指定および構成するためのサブ要素が多くあります。

global-web-application.xml<web-app>要素内で指定するデフォルト設定はすべて、web.xml<web-app>設定を使用して、追加、またはオプションでオーバーライドできます。さらにその結果の設定は、orion-web.xml<web-app>設定を使用して、追加、またはオプションでオーバーライドできます。


注意

global-web-application.xmlorion-web.xml内で<web-app>要素を使用しないでください(可能な場合)。<web-app>エントリについては、通常、すべてweb.xmlを参照するため、このエントリが他にもあると混同しやすく、トラブルシューティングが困難になる場合があります。 


global-web-application.xml<web-app>要素外で指定するデフォルト設定については、orion-web.xmlのパラレル設定を使用して、追加、またはオプションでオーバーライドできます。

OC4JグローバルWebアプリケーション・ディスクリプタの要素と属性の詳細は、「orion-web.xmlおよびglobal-web-application.xmlの要素と属性」を参照してください。

Oracleのorion-web.xml構成ファイル

標準Webディスクリプタweb.xmlおよびOC4JグローバルWebアプリケーション・ディスクリプタglobal-web-application.xml(デフォルトの動作を設定)の他に、OC4J固有のアプリケーション・レベルのWebディスクリプタorion-web.xmlがあります。

orion-web.xmlディスクリプタは、対応するXSDで定義されています。このXSDは、前項の「Oracleのglobal-web-application.xml構成ファイル」で説明した、グローバルWebアプリケーション・ディスクリプタのXSDと同一です。

orion-web.xmlファイルは、web.xmlファイルと同じ、WARファイルの/WEB-INFディレクトリに置くことができます。orion-web.xmlを使用して、global-web-application.xmlの任意のデフォルト設定に追加、またはオプションでオーバーライドできます。同様に、web.xmlの設定も追加、またはオプションでオーバーライドできます。

WARファイル(EARファイル内)へのorion-web.xmlファイルの組込みは、オプションです。組み込む場合は、デプロイ時に、OC4Jにより、このファイルがデプロイメント・ディレクトリ(デフォルトではj2ee/home/application-deploymentsディレクトリの下)にコピーされます。組み込まない場合は、OC4Jにより、orion-web.xmlがデプロイメント・ディレクトリ内に生成されます。このファイルには、global-web-application.xmlのデフォルト設定が使用されます。一部のweb.xml設定は、orion-web.xmlの生成に影響を与えます。たとえば、web.xml内の<resource-ref>エントリは、orion-web.xml内の対応する<resource-ref-mapping>エントリに影響します。


注意

OC4Jによりコピーされる際にorion-web.xmlの内容が変更される場合がありますが、変更は透過的です。たとえば、デフォルト値を指定する属性設定が無視または削除される場合があります。 


OC4J固有のWebディスクリプタの要素と属性の詳細は、「orion-web.xmlおよびglobal-web-application.xmlの要素と属性」を参照してください。

Webアプリケーションの構成ファイル間の関係のサマリー

global-web-application.xmlweb.xmlおよびorion-web.xml間の関係は、次のように考えることができます。

  1. global-web-application.xmlファイルは、OC4J内のWebアプリケーションのデフォルトを確立します。

  2. web.xmlファイルは、global-web-application.xml<web-app>要素に定義されている設定すべてをオーバーレイします。この要素に定義されているWebコンポーネントおよびその他の設定を追加したりオーバーライドします。

  3. orion-web.xmlファイルは、すべての設定をオーバーレイします。global-web-application.xmlおよびweb.xmlの設定を追加したりオーバーライドします。

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

次に、global-web-application.xmlファイルとorion-web.xmlファイルの要素の階層の概要を示します。

<orion-web-app>
<classpath>
<context-param-mapping>
<mime-mappings>
<virtual-directory>
<access-mask>
<host-access>
<ip-access>
<servlet-chaining>
<request-tracker>
<session-tracking>
<session-tracker>
<resource-ref-mapping>
<lookup-context>
<context-attribute>
<resource-env-ref-mapping>
<security-role-mapping>
<group>
<user>
<env-entry-mapping>
<ejb-ref-mapping>
<service-ref-mapping>
<expiration-setting>
<web-app>
<jazn-web-app>
<web-app-class-loader>
<ojsp-init>
 


注意

global-web-application.xmlの<ojsp-init>要素は使用できません。 


orion-web.xmlおよびglobal-web-application.xmlの要素と属性

この項では、orion-web.xmlおよびglobal-web-application.xmlファイルの要素をアルファベット順に説明します。 階層については、前項の「orion-web.xmlおよびglobal-web-application.xmlの階層」を参照してください。

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


注意

  • 属性について説明している箇所では、属性値が常に引用符付きで設定されていることに注意してください(attribute="value")。

  • 関係する属性のほとんどは、Application Server Controlデプロイ・プラン・エディタによって設定できます。 詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』を参照してください。

 

<access-mask>

親要素:

<orion-web-app>

子要素:

<host-access><ip-access>

必須/オプション

オプション、0または1つ

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

表B-1    <access-mask>属性 
名前  説明 

default 

値: allow|deny

デフォルト: allow

<host-access>または<ip-access>サブ要素で識別されないクライアントからのリクエストを、許可するかどうかを指定します。これらのサブ要素で識別されるクライアントからのリクエストを許可するかどうかを指定するには、<host-access>および<ip-access>サブ要素に別のmode属性を使用します。 

<classpath>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-2    <classpath>属性 
名前  説明 

path 

値: 文字列

デフォルト: n/a(必要)

カンマまたはセミコロンで区切られた、1つ以上の場所を指定できます。場所は、次のいずれかになります。

  • ファイル名を含む、JARまたはZIPファイルの完全なパス

  • ディレクトリ・パス

いずれの場合も、絶対パス、または構成ファイルのある位置(global-web-application.xmlまたはorion-web.xmlの該当するもの)からの相対パスを使用できます。

ディレクトリ・パスを指定した場合、クラスローダーでは、指定したディレクトリ内にある個別のクラス・ファイルのみが認識されます。JARまたはZIPファイルは認識されません(個別に指定されている場合を除く)。

たとえば、orion-web.xmlが次のように設定されていると仮定します。

<classpath path=
/abc/def/lib1.jar,
/abc/def/zip1.jar,
/abc/def,mydir
/>

クラスローダーでは、次が認識されます。

  • lib1.jarおよびzip1.jarライブラリ(/abc/defのその他のライブラリは除く)

  • /abc/def内のクラス・ファイルすべて

  • orion-web.xmlからの相対位置で示されているmydir内のクラス・ファイルすべて

 

<context-attribute>

親要素:

<lookup-context>

子要素:

なし

必須/オプション

<lookup-context>を使用する場合は必須、1つ以上

この要素の各出現は、親の<lookup-context>要素で名前が付けられているデフォルト以外(サード・パーティなど)のJNDIコンテキストに送信するために属性を指定します。

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

表B-3    <context-attribute>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

属性の名前を指定します。 

value 

値: 文字列

デフォルト: n/a(必要)

属性の希望の値を指定します。 

<context-param-mapping>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

この要素は、次のように、情報を要素自体のコンテンツに挿入します。

orion-web.xmlで、<context-param-mapping>要素は、サーブレット・コンテキスト・パラメータについて、web.xmlの対応する<context-param>要素によって指定されている値をオーバーライドします。name属性を使用してweb.xml<param-name>設定に適合させ、要素の値を使用して新しい値を指定します。

<context-param-mapping name="..." >deploymentValue</context-param-mapping>
表B-4    <context-param-mapping>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

新しい値を指定するパラメータの名前です。 

<ejb-ref-mapping>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

この要素を使用して、EJBのJNDIの場所を宣言します。これは、web.xmlファイルでEJBを宣言するために、対応する<ejb-ref>または<ejb-local-ref>要素とともに使用します。<ejb-ref-mapping>要素のname属性は、web.xml<ejb-ref-name>要素に対応し、location属性はJNDIの場所を指定します。

表B-5    <ejb-ref-mapping>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

web.xml<ejb-ref-name>から、EJB参照名を指定します。 

location 

値: 文字列

デフォルト: n/a(必要)

EJBのルックアップを行うJNDIの場所を指定します。 

<env-entry-mapping>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

orion-web.xmlで、<env-entry-mapping>要素は、環境エントリについて、web.xmlの対応する<env-entry>要素によって指定されている値をオーバーライドします。name属性を使用してweb.xml<env-entry-name>設定に適合させ、要素の値を使用して新しい値を指定します。

<env-entry-mapping name="..." >deploymentValue</env-entry-mapping>
表B-6    <env-entry-mapping>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

新しい値を指定する環境エントリの名前です。 

<expiration-setting>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-7    <expiration-setting>属性 
名前  説明 

expires 

値: 文字列(整数、秒)

デフォルト: 0

期限切れまでの時間(秒単位)を指定します。期限切れを指定しない場合はneverにします。デフォルト設定は、即時期限切れを要求します。 

url-pattern 

値: 文字列

デフォルト: n/a(必要)

期限が設定されるURLパターンを指定します。たとえば、次のようになります。

url-pattern="*.gif"
 

<group>

親要素:

<security-role-mapping>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-8    <group>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

グループの名前を指定します。 

<host-access>

親要素:

<access-mask>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-9    <host-access>属性 
名前  説明 

domain 

値: 文字列

デフォルト: n/a(必要)

ホストまたはドメインを指定します。 

mode 

値: allow|deny

デフォルト: n/a(必要)

特定のホストやドメインからのアクセスを許可するか、または拒否するかを指定します。  

<ip-access>

親要素:

<access-mask>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-10    <ip-access>属性 
名前  説明 

ip 

値: 文字列

デフォルト: n/a(必要)

32ビット値のIPアドレスを指定します
(例: 123.124.125.126)。 

netmask 

値: 文字列

デフォルト: デフォルトなし

対応するサブネット・マスク(存在する場合)を指定します
(例: 255.255.255.0)。 

mode 

値: allow|deny

デフォルト: n/a(必要)

特定のIPアドレスおよびサブネット・マスクからのアクセスを許可するか、または拒否するかを指定します。  

<jazn-web-app>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0または1つ

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

Oracle Identity ManagementをWebアプリケーションのセキュリティ・プロバイダとして使用し、認証にSSOを使用している場合、<jazn-web-app>によってサーブレット・セッションをOracleAS JAAS Providerのユーザー・コンテキスト同期化できます。セッションをユーザー・コンテキストと同期化するには、<jazn-web-app><property>サブ要素で、sso.session.synchronizeプロパティをtrue(デフォルト)に設定します。

<jazn-web-app ...>
<property name="sso.session.synchronize" value="true"/>
</jazn-web-app>

または、プロパティをfalseに設定することができます。

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

http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/JAASRefGuide.html
表B-11    <jazn-web-app>属性 
名前  説明 

auth-method 

値: BASIC|SSO|COREIDSSO

デフォルト: BASIC

これは、HTTPクライアント認証のメソッドです。BASICは、基本J2EE認証用です。SSOは、Oracle Single Sign-On用です。COREIDSSOは、Oracle COREid Access and Identityをセキュリティ・プロバイダとして使用し、シングル・サインオンを使用する場合用です。

auth-methodのもう1つの値であるDIGESTは、OC4J 10.1.3実装では使用されなくなりましたが、下位互換のためにサポートされています。かわりに、web.xmlファイルのauth-methodの標準DIGEST設定を使用できます。

注意: アプリケーションで、カスタムのLoginModuleインスタンスを使用する場合は、BASICを使用します。 

runas-mode 

値: ブール

デフォルト: false

このモードは、OC4J 10.1.3実装では使用されなくなりましたが、下位互換のためにサポートされています。新しい統合JAASモードが、サーブレットのrunas-modeおよびdoasprivileged-modeと置換されます。

runas-modetrueに設定し、特定のサブジェクトの権限を使用してサーブレットを起動します。サブジェクトはjavax.security.auth.Subjectクラスのインスタンスで定義され、個人などの単一エンティティに関する一連のファクトが含まれます。ファクトには、パスワードや暗号鍵などの、認証およびセキュリティに関連する属性が含まれます。

デフォルトのrunas-mode="false"設定では、doasprivileged-modeは無視されます。  

doasprivileged-mode 

値: ブール

デフォルト: true

このモードは、OC4J 10.1.3実装では使用されなくなりましたが、下位互換のためにサポートされています。新しい統合JAASモードが、サーブレットのrunas-modeおよびdoasprivileged-modeと置換されます。

runas-mode="true"の場合は、doasprivileged-modeのデフォルトのtrue設定を使用して、サーバーのアクセス制御の制限に縛られずに特定のサブジェクトの権限を使用します。サーブレットが起動されると、runas-mode="true"およびdoasprivileged-mode="true"の値から、静的なSubject.doAsPrivileged()メソッドが使用されます。runas-mode="true"およびdoasprivileged-mode="false"の値から、静的なSubject.doAs()メソッドが使用されます。いずれの場合も、JAAS ProviderではメソッドのコールにおけるSubjectインスタンスに渡します。

doAsPrivileged()メソッドが使用されると、JAAS ProviderではNULLのjava.security.AccessControlContextインスタンスを使用してメソッドを起動します。これは、現行サーバーのAccessControlContextインスタンスに制限されずに新規の処理を開始し、サーブレットを実行するためです。doAs()メソッドが使用されると、AccessControlContextインスタンスが現行スレッド(サーバー)から取得されます。 

run-asで機能しないservlet.init()に対して発行される警告

Webアプリケーションの場合、web.xmlファイル内でrun-as userを指定すると、Servlet.init()メソッド以外のすべてのメソッドの起動は、指定されたユーザーとして起動します。 JMS RouterがOC4Jのデフォルト・アプリケーションの場合、ルーターのEJBに対してコールが認可されている必要があります。 これは、JAASの"oc4j-administrators"ロールにマップされるアプリケーション・ロール"jmsRouter"を定義し、ルーターのEJBのすべてのメソッドに<method-permission>を指定して行います。

ルーターのWebモデル内のサーブレットのinit()メソッドによって、ルーターEJBオブジェクトが作成されます。 サーブレットに対してweb.xmlrun-asが指定されているかどうかにかかわらず、セキュリティ例外がスローされます。

@ oracle.oc4j.rmi.OracleRemoteException: anonymous is not allowed to call this EJB 
method, check your security settings (method-permission in ejb-jar.xml and 
security-role-mapping in orion-application.xml).
run-as警告の回避策

セキュリティ警告を取り除くためには、次に示すように、ejb-jar.xml内の<method-permission><method-name>要素の*をコメントアウトし、jmsRouterロールがアクセス可能なAdminMgrBean内のすべてのメソッドを明示的に列挙します。

<!-- 
    <method-permission> 
      <role-name>jmsRouter</role-name> 
      <method> 
         <ejb-name>AdminMgrBean</ejb-name> 
         <method-name>*</method-name> 
      </method> 
    </method-permission> 
--> 
    <method-permission> 
      <role-name>jmsRouter</role-name> 
      <method> 
         <ejb-name>AdminMgrBean</ejb-name> 
         <method-name>getConfig</method-name> 
      </method> 
    </method-permission> 
    ... 

runAsRoleNameが、正しくServletDescriptor.javaで解析され、HttpApplication.loadServlet()infoおよびthreadに格納されます。

<lookup-context>

親要素:

<resource-ref-mapping>

子要素:

<context-attribute>

必須/オプション

オプション、0または1つ

この要素は、そのlocation属性により、親の<resource-ref-mapping>要素でマップされるリソースのルックアップでデフォルトのコンテキストのかわりに使用されるオプションのJNDIコンテキストを指定します。これは、サード・パーティ製のモジュール(サード・パーティ製のJMSサーバーなど)に接続する場合に役立ちます。(リソース・ベンダーが提供するJNDIコンテキストの実装を使用するか、何も存在しない場合はベンダーのソフトウェアとのネゴシエーションを行う実装を作成します。)

表B-12    <lookup-context>属性 
名前  説明 

location 

値: 文字列

デフォルト: n/a(必要)

デフォルト以外(サード・パーティなど)のJNDIコンテキストの名前を指定します。 

<mime-mappings>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-13    <mime-mappings>属性 
名前  説明 

path 

値: 文字列

デフォルト: n/a(必要)

ファイルのパスまたはURLを指定します。絶対パス(URL)またはorion-web.xmlファイルがある場所からの相対パス(URL)のいずれかです。  

<ojsp-init>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0または1つ

この要素は、表B-14にリストで示すJSP構成パラメータ(属性)を設定します。 この要素をorion-web.xmlファイルでWebアプリケーションに対して指定する場合、デフォルト値を含むこれらの属性の値は、Webモジュールでインストールされたweb.xmlデプロイメント・ディスクリプタの<init-param>要素に指定した対応するすべてのJSP構成パラメータの値をオーバーライドします。 ojspc事前変換ユーティリティの対応するすべてのコマンドライン・オプションは、<ojsp-init>属性およびweb.xml内の対応するすべての設定をオーバーライドします。


注意

global-web-application.xmlの<ojsp-init>要素は使用できません。 


表B-14    <ojsp-init>属性 
名前  説明 

debug-mode 

値: ブール

デフォルト: false

スタック・トレースを出力するかどうかを指定します。 特定のランタイム例外が発生する場合にスタック・トレースを出力するには、trueに設定します。

このパラメータがfalseで、ファイルが見つからない場合、見つからないファイルのフルパスは表示されません。 存在しないJSPファイルがリクエストされた場合に物理ファイル・パスの表示を抑止することは、重要なセキュリティ上の考慮事項です。 

iso-8859-1-convert 

値: ブール

デフォルト: true

文字列をiso-8859-1キャラクタ・セットに変換するかどうかを指定します。 iso-8859-1-convertの値がtrueの場合、エンコーダによって文字は完全に変換されます。 iso-8859-1-convertの値がfalseの場合、バイト切捨てが発生し、パフォーマンスが向上します。 文字列に文字が含まれない通常の使用状況の大部分に対して、このバイト切捨てをお薦めします。 

jsr45-debug 

値: なし、クラス、ファイル

デフォルト: なし

JSR-045: Debugging Support for Other Languagesに記述されているJSR-45サポートのメソッドを指定します。 jsr45-debugを"file"に設定すると、JavaラインにマップされたJSPラインのSMAPを含む個別のファイルが生成されます。 "class"設定の場合、この情報はコンパイル済のクラス・ファイルに書き込まれます。 jsr45-debugを"none"に設定すると、JSR-45デバッグ・サポートがオフになります。 

main-mode 

値: recompile、reload、justrun

デフォルト: recompile

JSPで生成されたクラスを自動的にリロードするかまたはJSPページが変更された場合に自動的に変換するかを指定します。

この機能が有効な場合、新しいまたは変更されたJSPページが、Webアプリケーションを再デプロイまたは再起動の必要なく、OC4Jランタイムにロードされます。 追加情報は、『Oracle Containers for J2EE JavaServer Pages開発者ガイド』を参照してください。

main-modeの値がrecompileの場合、コンテナはJSPページのタイムスタンプをチェックして再変換し、最後にロードしてから変更されている場合はページをリロードします。 reloadで説明した機能も、同様に実行されます。

main-modeの値がreloadの場合、コンテナはJSPトランスレータが生成したクラス(ページ実装クラスなど)のタイムスタンプをチェックし、最後にロードしてから変更または再デプロイされたクラスをリロードします。 これは、JSPページではなくコンパイル済のクラスを、開発環境から製品環境へデプロイまたは再デプロイする場合に、役立ちます。

main-modeの値がjustrunの場合、コンテナはタイムスタンプに対して何も行わないため、JSPの再変換またはJSPで生成されたJavaクラスのリロードは行われません。 JSPページは頻繁に変更されない製品環境で、このモードを使用すると効果的です。 

precompile-check 

値: ブール

デフォルト: false

標準jsp_precompile-check設定へのHTTPリクエストをチェックするかどうか指定します。 デフォルトは、falseです。

precompile-checktruejsp_precompileがリクエストによって有効になる場合、例外なく事前変換のみがJSPページに実行されます。 precompile-checkfalseに設定すると、パフォーマンスが向上しリクエスト内のjsp_precompile設定はすべて無視されます。 

reduce-tag-code 

値: ブール

デフォルト: false

trueに設定すると、カスタム・タグ使用のために生成されたコードのサイズをさらに縮小するように指定します。  

req-time-introspection 

値: ブール

デフォルト: false

trueに設定すると、コンパイル時イントロスペクションが不可能な場合は常に、リクエスト時イントロスペクションを有効化します。 ただし、コンパイル時イントロスペクションが可能で成功した場合、このフラグの設定にかかわらずリクエスト時イントロスペクションは行われません。

リクエスト時イントロスペクションの使用例として、タグ・ハンドラが、タグ追加情報クラスのVariableInfo内の汎用java.lang.Objectインスタンスを変換およびコンパイル中に返しても、実際は、より特定的なオブジェクトがランタイム中に生成されることがあげられます。 この時、request_time_introspectionが有効な場合、Webコンテナはリクエスト時間までイントロスペクションを遅延させます。

加えて、このフラグの働きにより、if..then..elseループの別のブランチ内などで、Beanを2回宣言できます。 次の例で説明します。 req_time_introspectionのデフォルト値falseの場合、このコードは解析例外を発生させます。 true値の場合、エラーを発生せずにコードが機能します。

<% if (cond) { %> 
<jsp:useBean id="foo" class="pkgA.Foo1" />
<% } else { %>
<jsp:useBean id="foo" class="pkgA.Foo2" />
<% } %>
 

static-text-in-chars 

値: ブール

デフォルト: false

trueに設定すると、JSPトランスレータに指示を出して、バイトではなく文字の静的テキストをJSPページに生成します。 デフォルトは、falseです。

次の例に示すように、ランタイム中に文字コードを動的に変更する能力が使用するアプリケーションに必要な場合、このフラグを有効化します。

<% response.setContentType("text/html; charset=UTF-8"); %>

デフォルトのfalseに設定すると、静的テキスト・ブロックの出力のパフォーマンスが向上します。 

tags-reuse 

値: compiletime、compiletime-with-release、none

デフォルト: compiletime

タグ・プーリングと呼ばれるタグ・ハンドラのモードを指定します。

  • compiletimeに設定すると、タグ・ハンドラのコンパイル時モデルの基本モードを有効化します。 これがデフォルト値です。

  • compiletime_with_releaseに設定すると、タグ・ハンドラのコンパイル時モデルをリリース・モードで再使用できるようになり、指定するページにおける指定するタグ・ハンドラ使用の間でタグ・ハンドラrelease()メソッドがコールされます。

  • noneまたはfalseに設定すると、タグ・ハンドラの再使用は無効になります。 JSPページ・コンテキスト属性oracle.jsp.tags.reusetrue値に設定すると、どのようなJSPページでもこの値をオーバーライドできます。

  • runtimeに設定すると、タグ・ハンドラの再使用のランタイム・モデルが有効になります。 JSPページ・コンテキスト属性oracle.jsp.tags.reusefalse値に設定すると、どのようなJSPページでもこの値をオーバーライドできます。

    runtimeオプションおよび同じ機能を持つtrueは、今回のOC4Jリリースでは推奨しないことに注意してください。

 

表B-15<ojsp-init>属性および対応するJSPサーブレットの<init-param>要素およびojspcコマンドライン・オプションを示します。 JSPサーブレット<init-param>要素の詳細は、『Oracle Containers for J2EE JavaServer Pages開発者ガイド』を参照してください。 JSPサーブレットojspcコマンドライン・オプションの詳細は、『Oracle Containers for J2EE JSPタグ・ライブラリおよびユーティリティ・リファレンス』を参照してください。

表B-15    JSPサーブレット構成パラメータ 
<ojsp-init>属性  同等のJSPサーブレット<init-param>  ojspcコマンドライン・オプション 

debug-mode 

debug_mode 

n/a 

iso-8859-1-convert 

iso-8859-1-convert 

n/a 

jsr45-debug 

debug 

-debug 

main-mode 

main_mode 

n/a 

precompile-check 

precompile_check 

n/a 

reduce-tag-code 

reduce_tag_code 

-reduceTagCode 

req-time-introspection 

req_time_instrospection 

-reqTimeIntrospection 

static-text-in-chars 

static-text-in-chars 

-staticTextInChars 

tags-reuse 

tags_reuse_default 

-tagReuse 

<orion-web-app>

親要素:

n/a(ルート)

子要素:

<access-mask><classpath><context-param-mapping><ejb-ref-mapping><env-entry-mapping><expiration-setting><jazn-web-app><mime-mappings><ojsp-init><request-tracker><resource-env-ref-mapping><resource-ref-mapping><security-role-mapping><service-ref-mapping><servlet-chaining><session-tracking><virtual-directory>, <web-app><web-app-class-loader>

必須/オプション

必須、1つのみ

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


注意

always-redeploydeployment-timeおよびdeployment-version属性は、直接使用がサポートされていません。そのため、これらの属性については(deployment-timeおよびdeployment-versionはデプロイ時間およびOC4Jバージョンのコンテナ生成値を受け取ることがありますが)説明していません。これらのパラメータを変更しても無効です。 


表B-16    <orion-web-app>属性 
名前  説明 

autojoin-session 

値: ブール

デフォルト: true

ユーザーがアプリケーションにログインすると同時に、そのユーザーにセッションを割り当てるかどうかを指定します。  

default-buffer-size 

値: 負でない整数(バイト)

デフォルト: 2048

サーブレットのレスポンスに関する出力バッファのデフォルトのサイズを、バイト単位で指定します。 

default-charset 

値: 文字列

デフォルト: iso-8859-1

10.1.3.1では、JSPページおよびサーブレット・コンテナ、デフォルトで使用するISOキャラクタ・セットを指定します。 一般に、JSP 2.0ユーザーには、かわりに、標準<page-encoding>機能(JSP 2.0仕様に準拠し、web.xml<jsp-config>要素にある)を使用してURLパターンに基づくキャラクタ・セットを指定することをお薦めします。ただし、多数のJSPページを(特に複数のアプリケーションにわたって)持つ場合は、EARファイルで多数の変更を加える必要をなくすためにdefault-charsetが役立つ場合があります。また、default-charsetを使用してベース・デフォルトを設定してから、<page-encoding>機能を使用して特定のURLパターンのデフォルトをオーバーライドすることもできます。<jsp-config>および<page-encoding>要素の詳細は、JSPおよびサーブレット仕様を参照してください。 

default-mime-type 

値: 文字列

デフォルト: デフォルトなし

setContentType()メソッドがサーブレット実装からコールされない状況に対して、サーブレット・レスポンスのデフォルト・コンテンツ・タイプを指定します。default-mime-typeが指定されていない場合、デフォルト・コンテンツ・タイプは存在しません。 

development 

値: ブール

デフォルト: false

開発時の便宜のために設けられたフラグです。developmenttrueに設定されている場合、特定のディレクトリについて、サーブレット・ソース・ファイルに更新があるかどうかがOC4Jサーバーによってチェックされます。ソース・ファイルが前回のリクエスト以降に変更されていると、次のリクエスト時に、OC4Jによってサーブレットが再コンパイルされ、Webアプリケーションが再デプロイされ、サーブレットとすべての依存クラスがリロードされます。

対象のディレクトリは、source-directory属性の設定により判断されます。

OC4J JSPコンテナはdevelopmentフラグに対して特別な処理を実行しないことに注意してください。関連するすべての機能は、OC4Jサーブレット・コンテナによって処理されます。  

directory-browsing 

値: allow|deny

デフォルト: deny

/」で終わるURLのディレクトリ参照の許可を指定します。次のような状況を仮定します。

  • アプリケーション・ルート・ディレクトリにindex.htmlファイルがありません。

  • web.xmlファイルに初期ファイルが定義されていません。

このような状況でdirectory-browsingallowに設定されている場合、「/」で終わるURLについては、ユーザーのブラウザに、対応するディレクトリの内容が表示されます。同じ状況でdirectory-browsingdenyに設定されている場合は、「/」で終わるURLはエラーとなり、ディレクトリの内容は表示されません。

アプリケーション・ルート・ディレクトリに、定義された初期ファイルまたはindex.htmlファイルがある場合、そのファイルの内容はdirectory-browsing設定にかかわらず表示されます。 

enable-jsp-dispatcher-shortcut 

値: ブール

デフォルト: true

true設定では、特に、simple-jsp-mapping属性もtrueに設定している場合、OC4J JSPコンテナのパフォーマンスが大幅に向上します。これは、多数のjsp:include文を含むJSPページに特に当てはまります。ただし、trueの設定では、web.xml<jsp-file>要素を使用してJSPファイルを定義する場合、それらのJSPファイルに対応した<url-pattern>の仕様があることが前提になります。 

file-modification-check-interval 

値: 文字列(整数、ミリ秒)

デフォルト: 1000

静的ファイル(HTMLファイルなど)について、タイムスタンプが変化しているかどうか、また、そのためにファイル・システムからリロードする必要があるかどうかをチェックするタイミングを決定します。静的ファイルに初めてアクセスする場合は、ファイルがファイル・システムからロードされ、キャッシュされます。各後続アクセスについては、次のロジックが使用されます。

  • 最後にファイル・タイムスタンプをチェックしてからの経過時間が、指定されているファイル・チェック間隔よりも短い場合は、タイムスタンプがチェックされず、ファイルがキャッシュからロードされます。

  • 最後にファイル・タイムスタンプをチェックしてからの経過時間が、指定されているファイル・チェック間隔よりも長い場合は、タイムスタンプがチェックされます。最後にチェックした後にタイムスタンプが変更されている場合は、ファイルがファイル・システムからロードされます。変更されていなければ、キャッシュからロードされます。

この値は、ミリ秒単位で指定します。0(ゼロ)または負の数値を指定すると、ファイル・タイムスタンプが常にチェックされます。パフォーマンス上の理由から、本番環境では非常に大きな値(たとえば、1000000)を指定することをお薦めします。 

jsp-cache-directory 

値: 文字列

デフォルト: ./persistence(アプリケーションのデプロイメント・ディレクトリからの相対パス)

JSPキャッシュ・ディレクトリを指定します。このディレクトリは、JSPトランスレータからの出力ファイルに対するベース・ディレクトリとして使用されます。また、アプリケーション・レベルのTLDキャッシュのベース・ディレクトリとしても使用されます。  

jsp-cache-tlds 

値: on|off|standard

デフォルト: standard

このフラグは、永続TLDキャッシュのJSPページにおける有効性を示します。standardまたはonに設定すると、キャッシュが有効になります。また、どちらの場合も、.tldファイルは、<orion-web-app>jsp-taglib-locations属性に基づいてグローバルTLD位置から継承されます。

また、standardに設定すると、アプリケーションの/WEB-INFディレクトリで.tldファイルが検索され、これらのファイルが、グローバル・レベルから継承されたファイルに追加されます。/WEB-INF/libおよび/WEB-INF/classesサブディレクトリは検索されないことに注意してください。

また、onに設定すると、アプリケーション内のすべてのファイルから.tldファイルが検索され、これらのファイルが、グローバル・レベルから継承されたファイルに追加されます。

off設定では、永続TLDキャッシュが無効になります。 

jsp-print-null 

値: ブール

デフォルト: true

このフラグをfalseに設定すると、JSPページからのNULL出力に対して、デフォルトのnull文字列ではなく、空の文字列が出力されます。 

jsp-taglib-locations 

値: 文字列

デフォルト: 次を参照

永続TLDキャッシュがJSPページで使用可能になっている場合(jsp-cache-tlds属性で指定)、jsp-taglib-locationsを使用して、指定の場所として使用する1つ以上のディレクトリを、セミコロン区切りのリストにして指定できます。タグ・ライブラリのJARファイルをこれらの場所に置いて、複数のJSPページとWebアプリケーション間で共有したり、TLDキャッシュに使用することができます。

ディレクトリの絶対パスまたは相対パスは、任意の組合せで指定できます。相対パスは、ORACLE_HOMEが定義されている場合はORACLE_HOMEの下から、ORACLE_HOMEが定義されていない場合は(OC4Jプロセスが起動された)カレント・ディレクトリの下からになります。デフォルト値は次のとおりです。

  • ORACLE_HOMEが定義されている場合は、ORACLE_HOME/j2ee/home/jsp/lib/taglib/

  • ORACLE_HOMEが定義されていない場合は、./jsp/lib/taglib

重要: jsp-taglib-locations属性はglobal-web-application.xmlでのみ使用し、orion-web.xmlでは使用しないでください。 

jsp-timeout 

値: 負でない整数(秒)

デフォルト: 0(タイムアウトなし)

期間を指定します。この時間を経過すると、リクエストされなかったJSPページがメモリーから削除されます。これによって、頻繁にコールされないページがある場合、リソースが解放されます。  

persistence-path 

値: 文字列

デフォルト: デフォルトなし(デフォルトでは永続性なし)

サーバーの再起動またはアプリケーションの再デプロイ中に、サーブレットのHttpSessionオブジェクトが永続的に保存される場所を示します。相対パスを指定します。これは、application-deploymentsディレクトリの下にあるOC4Jの一時記憶領域からの相対パスです。値が指定されていない場合、再起動または再デプロイ中にセッション・オブジェクトの永続性は失われます。

この機能を有効にするには、セッション・オブジェクトは、シリアライズ可能(直接または間接的にjava.io.Serializableインタフェースを実装)、またはリモート可能(直接または間接的にjava.rmi.Remoteインタフェースを実装)である必要があります。

注意: OC4Jクラスタリングが有効になっている場合、この属性は無視されます。 

schema-major-version 

値: 文字列

デフォルト: デフォルトなし

orion-web.xml XSDのメジャー・バージョン番号です。orion-web.xmlを手動で作成する場合は、OC4J 10.1.3実装で使用するために、この実装を10に設定してください。

注意: この属性は、orion-web.xmlのXSDには直接表示されません。この属性は、トップレベルのOC4J XSDのattributeGroup仕様に基づきます。 

schema-minor-version 

値: 文字列

デフォルト: デフォルトなし

orion-web.xml XSDのマイナー・バージョン番号です。orion-web.xmlを手動で作成する場合は、OC4J 10.1.3実装で使用するために、この実装を0に設定してください。

注意: この属性は、orion-web.xmlのXSDには直接表示されません。この属性は、トップレベルのOC4J XSDのattributeGroup仕様に基づきます。 

servlet-webdir 

値: 文字列

デフォルト: /servlet/(次の「注意」を参照)

OC4Jのシステム・プロパティのhttp.webdir.enabletrueに設定されている場合は、この属性を使用して、スタンドアロンOC4Jでのクラス名によるサーブレットの起動を有効にします。システム・プロパティを設定すると、スラッシュ(/)で始まるすべてのservlet-webdir設定によってこの機能が有効になり、OC4Jにクラス名でサーブレットを起動させるために、コンテキスト・パスの後に挿入される特別なURL部分が指定されます。URL内のこのパス以後に表示される名前は、すべてクラス名とみなされ、パッケージが含まれます。 追加情報は、「OC4J開発時におけるクラス名によるサーブレットの起動」を参照してください。

この機能は、通常、開発またはテスト時にOC4Jスタンドアロン環境で使用されます。重大なセキュリティ上のリスクが発生するので、本番環境では使用しないでください。(本番デプロイでは、標準のweb.xmlメカニズムを使用してコンテキスト・パスおよびサーブレット・パスを定義してください。)

次に示すのは、クラス名によるサーブレットの起動例です。コンテキスト・パスを「/」、設定をservlet-webdir="/servlet/"と仮定します。

http://www.example.com:8888/servlet/foo.SessionServlet

servlet-webdir=""(空の引用符)に設定、またはOC4Jのシステム・プロパティをhttp.webdir.enable=falseに設定すると、クラス名による起動が無効になります。

注意: デフォルトを含むすべてのservlet-webdir設定は、http.webdir.enableのデフォルトのfalse設定によってオーバーライドされます。 OC4Jのシステム・プロパティに関する一般的な情報は、『Oracle Containers for J2EE構成および管理ガイド』を参照してください。 

simple-jsp-mapping 

値: ブール

デフォルト: false

*.jsporacle.jsp.runtimev2.JspServletフロントエンドJSPサーブレットのみにマップされている場合は、trueに設定します。アプリケーションに影響を与えるすべてのWebディスクリプタ(global-web-application.xmlweb.xmlorion-web.xml)の<servlet>要素で指定されます。trueに設定すると、JSPページのパフォーマンスが向上します。 

source-directory 

値: 文字列

デフォルト: /WEB-INF/src(存在する場合)または/WEB-INF/classes

development属性がtrueに設定されている場合は、source-directory設定で指定された場所で、自動コンパイルの対象となるサーブレット・ソース・ファイルが検索されます。デフォルトの場所を使用する場合、OC4Jは、デプロイ後にアプリケーションの/WEB-INFディレクトリの場所を追跡し続けます。修正されたソース・ファイルは、パッケージ名に基づいて、source-directoryディレクトリの任意の場所で検出されることに注意してください。 

temporary-directory 

値: 文字列

デフォルト: ./temp

サーブレットおよびJSPページによりスクラッチ・ファイル用に使用される一時ディレクトリのパスです。パスは、絶対パスまたはデプロイメント・ディレクトリからの相対パスのいずれかにできます。

サーブレットは、一時ディレクトリを使用する場合があります。たとえば、ユーザーがフォーム(情報がデータベースに書き込まれる前の、仮または短期間の格納用)にデータを入力するときに、ディスクに情報を書き込むために使用します。

次に、特定のディレクトリは、サーブレット・コンテキストから再コールされます。このコンテキストは、属性javax.servlet.context.tempdirにより使用できます。次に例を示します。

File file = (File)application.getAttribute("javax.servlet.context.tempdir");

java.io.Fileオブジェクトが戻されます。このオブジェクトから、ディレクトリ情報およびコンテンツを取得できます。 


注意

enable-jsp-dispatcher-shortcutjsp-cache-directoryjsp-cache-tldsjsp-print-nulljsp-taglib-locationsjsp-timeoutおよびsimple-jsp-mapping属性に関連する処理は、OC4J JSPコンテナにより行われます。 これらの属性および関連する機能の詳細は、『Oracle Containers for J2EE JavaServer Pages開発者ガイド』を参照してください。 


<request-tracker>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

リクエストのトラッキングに使用するサーブレットを指定します。リクエスト・トラッキングは、対応するレスポンスがコミットされるとき(レスポンスが実際に送信される直前)、ブラウザからサーバーに送信される各個別のリクエストに対して起動されます。リクエスト・トラッキングは、ログを記録する場合などに役立ちます。

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

表B-17    <request-tracker>属性 
名前  説明 

servlet-name 

値: 文字列

デフォルト: n/a(必要)

起動するサーブレットを指定します。web.xmlファイルの対応する<servlet-name>要素または<servlet-class>要素(両方とも<servlet>要素のサブ要素)に基づいて、示されているサーブレット名またはクラス名のいずれかを指定できます。 

<resource-env-ref-mapping>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

この要素を使用して、環境リソースのJNDIの場所を宣言します。これは、リソースを宣言するweb.xmlファイルの対応する<resource-env-ref>要素とともに使用します。<resource-env-ref-mapping>要素のname属性は、web.xml<resource-env-ref-name>要素に対応し、location属性はJNDIの場所を指定します。

表B-18    <resource-env-ref-mapping>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

web.xmlから、リソース名を指定します。 

location 

値: 文字列

デフォルト: n/a(必要)

リソースのルックアップを行うJNDIの場所を指定します。  

<resource-ref-mapping>

親要素:

<orion-web-app>

子要素:

<lookup-context>

必須/オプション

オプション、0以上

この要素を使用して、データソースやJMSキュー、メール・セッションなどの外部リソースのJNDIの場所を宣言します。これは、リソースを宣言するweb.xmlファイルの対応する<resource-ref>要素とともに使用します。<resource-ref-mapping>要素のname属性は、web.xml<res-ref-name>要素に対応し、location属性はJNDIの場所を指定します。

次に、この要素とそのサブ要素を使用した例を示します。

  <resource-ref-mapping location="jdbc/HyperSonicDS" name="jdbc/myDS">
    <lookup-context location="foreign/resource/location">
      <context-attribute name="java.naming.factory.initial" value="classname" />
      <context-attribute name="name" value="value" />
    </lookup-context>
  </resource-ref-mapping>
表B-19    <resource-ref-mapping>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

web.xmlから、リソース名を指定します。 次に例を示します。

name="jdbc/TheDSVar"
 

location 

値: 文字列

デフォルト: n/a(必要)

リソースのルックアップを行うJNDIの場所を指定します。 次に例を示します。

location="jdbc/TheDS"
 

<security-role-mapping>

親要素:

<orion-web-app>

子要素:

<group><user>

必須/オプション

オプション、0以上

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

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


重要

OC4Jには自動セキュリティ・マッピング機能が備わっています。デフォルトでは、web.xmlに定義されたセキュリティ・ロールが、system-jazn-data.xmlに定義されたOC4Jグループ(または他の有効なユーザー・マネージャ)と同じ名前である場合、OC4Jはそのセキュリティ・ロールをマップします。ただし、この機能は、<security-role-mapping>要素を使用して、明示的なマッピングを行う場合は、完全に無効化されます。<security-role-mapping>を使用すると、OC4Jでは、明示的なマッピングのみが必要であるとみなされます。これは、ユーザーが明示的なマッピングを宣言しているときに、暗黙的なマッピングが実行されるのを防ぐためです。 


表B-20    <security-role-mapping>属性 
名前  説明 

impliesAll 

値: ブール

デフォルト: false

このマッピングを全ユーザーに適用するかどうかを指定します。  

name 

値: 文字列

デフォルト: n/a(必要)

web.xml<security-role>要素の<role-name>サブ要素に指定されている名前と一致する、セキュリティ・ロールの名前を指定します。 

<service-ref-mapping>

親要素:

<orion-web-app>

子要素:

その独自のスキーマ定義に基づく

必須/オプション

オプション、0以上

この要素は、Webサービスを宣言するweb.xmlファイルに出現する<service-ref>要素とともに使用します。この要素を使用して、対応するWebサービス(セキュリティ、ロギング、監査など)のOC4J固有のサービス品質機能を指定することができます。 詳細は、『Oracle Application Server Web Services開発者ガイド』を参照してください。

<service-ref>要素がweb.xmlejb-jar.xmlまたはapplication-client.xmlファイルに出現することが可能であるように、対応する<service-ref-mapping>要素もorion-web.xmlorion-ejb-jar.xmlまたはorion-application-client.xmlファイルに出現することが可能です。<service-ref-mapping>要素のサポートされる機能は、orion-weborion-ejb-jar、およびorion-application-client XSDにインポートされる独自のXSDに基づきます。

<servlet-chaining>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

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


重要

サーブレット・チェーンは、標準サーブレット・フィルタの機能と似た機能を持つ旧式の固有のメカニズムです。これは、サーブレット仕様のバージョン2.3で説明されています。かわりにサーブレット・フィルタを使用します。OC4Jの<servlet-chaining>要素は、現在のリリースでは使用されなくなっており、次のリリースではサポートされなくなります。 


表B-21    <servlet-chaining>属性 
名前  説明 

mime-type 

値: 文字列

デフォルト: n/a(必要)

チェーンをトリガーするMIMEタイプ(text/htmlなど)を指定します。 

servlet-name 

値: 文字列

デフォルト: n/a(必要)

特定のMIMEタイプの場合にコールするサーブレットを指定します。サーブレット名は、global-web-application.xmlweb.xmlまたはorion-web.xml<web-app>要素の定義によって、サーブレット・クラスに関連付けられます。 

<session-tracker>

親要素:

<session-tracking>

子要素:

なし

必須/オプション

オプション、0以上

<session-tracking>のこのサブ要素は、セッション・トラッカとして使用するサーブレットを指定します。セッション・トラッカは、セッションが作成されると同時に起動されます。特に、HTTPセッション・リスナー(javax.servlet.http.HttpSessionListenerインタフェースを実装するクラスのインスタンス)のsessionCreated()メソッドが起動されると同時に起動されます。セッション・トラッキングは、たとえば、ログを記録する場合に役立ちます。

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

表B-22    <session-tracker>属性 
名前  説明 

servlet-name 

値: 文字列

デフォルト: n/a(必要)

起動するサーブレットを指定します。web.xmlファイルの関連<servlet>要素の対応する<servlet-name>または<servlet-class>要素に基づいて、示されているサーブレット名またはクラス名のいずれかを指定できます。 

set-secure 

値: ブール

デフォルト: false

アプリケーションについてOC4Jによって生成されるすべてのセッションCookieが、HTTPSプロトコルが使用されている場合にのみクライアントによって返されるかどうかを指定します。set-secure="true"の場合、すべてのセッションCookieにsecure属性が含まれます。この属性により、ブラウザはセキュアなHTTPSプロトコル経由でのみCookieを返します。set-secure="false"の場合、ブラウザは、任意のプロトコル経由でCookieを返します。 

<session-tracking>

親要素:

<orion-web-app>

子要素:

<session-tracker>

必須/オプション

オプション、0または1つ

このアプリケーションに対してセッション・トラッキングの設定を指定します。セッション・トラッキングは、Cookie(Cookie対応のブラウザの場合)を使用して行われます。セッション・トラッキングに使用するサーブレットは、<session-tracker>サブ要素により指定します。


注意

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

  • OC4Jでは、サーブレット・コンテナでセッションIDを自動的にURLにエンコードする、自動エンコーディングはサポートしていません。これは、コストのかかる標準外の処理です。

 

表B-23    <session-tracking>属性 
名前  説明 

cookies 

値: enabled|disabled

デフォルト: enabled

セッションCookieを送信するかどうかを指定します。セッションCookieの名前は、JSESSIONIDです。 (JSESSIONID Cookieの詳細は、「OC4Jがセッション・トラッキングにCookieを使用する方法」を参照してください。) 

cookie-domain 

値: 文字列

デフォルト: デフォルトなし

JSESSIONIDセッションCookieに必要なドメインを指定します。これは、該当するSet-Cookie HTTPレスポンス・ヘッダーのすべてのdomain設定をオーバーライドします。この属性を使用して、複数のWebサイト上で単一クライアントまたはユーザーを追跡できます。設定はピリオド(.)から始まる必要があります。 次に例を示します。

<session-tracking cookie-domain=".us.oracle.com" />

この場合、ユーザーが.us.oracle.comドメイン・パターンに一致する任意のサイト(webserv1.us.oracle.comまたはwebserv2.us.oracle.comなど)にアクセスすると、同じセッションCookieが使用および再使用されます。

ドメイン仕様は少なくとも2つの要素(.us.oracle.comまたは.oracle.comなど)で構成する必要があります。たとえば、.comという設定は無効です。

次に、Cookieドメイン機能が役立つ例を2つ示します。

  • この機能を使用して、異なるホスト上で実行されているWebアプリケーションのノード間において、セッションの状態を共有できます。

  • OC4Jスタンドアロン環境では、WebサイトのXMLファイルの<web-app>要素がshared="true"に設定されているときに、この機能を共有アプリケーションに使用できます。このようなアプリケーションでは、リクエストに使用されるポートはセキュアである場合と、セキュアでない場合があります。ここでのポートは、別個のWebサイトを意味します。使用されるポートに関係なく、同じCookieを使用します。(この使用例ではcookie-domainを使用する必要はありませんが、これはデフォルト・ポートとしてHTTPに80、HTTPSには443を使用している場合についてです。クライアントでは、これらをすでに同じWebサイトの異なるポートとして認識済であり、単一のCookieのみが使用されます。)

 

cookie-path 

値: 文字列

デフォルト: デフォルトなし

オプションで、JSESSIONIDセッションCookieに適用されるURLパスの値を指定するために使用できます。この属性は、(Cookieドメイン設定に基づき)任意の該当ドメイン内でセッションCookieが有効になるURLのサブセットを指定します。指定すると、該当するSet-Cookie HTTPレスポンス・ヘッダーのすべてのpath設定をオーバーライドします。指定しない場合、Set-Cookieヘッダーにpath設定がないときは、デフォルトのCookieパスはWebアプリケーションのコンテキスト・パスです。 

cookie-max-age 

値: 負でない整数(秒)

デフォルト: デフォルトなし

この数値は、JSESSIONIDセッションCookieとともに送信され、ブラウザがCookieを保存する最大期間(秒単位)を指定します。デフォルトでは、ブラウザ・セッションの間Cookieはメモリーに格納され、その後廃棄されます。 

<user>

親要素:

<security-role-mapping>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-24    <user>属性 
名前  説明 

name 

値: 文字列

デフォルト: n/a(必要)

ユーザーの名前を指定します。 

<virtual-directory>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0以上

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

表B-25    <virtual-directory>属性 
名前  説明 

real-path 

値: 文字列

デフォルト: n/a(必要)

実際のパス。UNIXの場合は/usr/local/realpath、Windowsの場合はC:¥testdir など。 

virtual-path 

値: 文字列

デフォルト: n/a(必要)

指定された実際のパスにマップする仮想パス。 

<web-app>

親要素:

<orion-web-app>

子要素:

サーブレット仕様でのその独自のスキーマ定義に基づく

必須/オプション

オプション、0または1つ

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

表B-26    <web-app>属性 
名前  説明 

id 

値: ID

デフォルト: 

metadata-complete 

値: ブール

デフォルト: true(サーブレット仕様2.4)、false(サーブレット仕様2.5)

このデプロイメント・ディスクリプタおよびこのモジュールに関連するその他のデプロイメント・ディスクリプタ(たとえばWebサービス・ディスクリプタ)が完了しているかどうか、またはこのモジュールで使用可能でこのアプリケーションにパッケージされたクラス・ファイルを、デプロイ情報を指定する注釈について検証するかどうかを指定します。 metadata-completetrueに設定されている場合、OC4Jサーブレット・コンテナはアプリケーションのクラス・ファイル内にあるすべての注釈を無視します。 metadata-completeが指定されていないかfalseに設定されていて、バージョンが2.5に設定されているかweb-xmlがサーブレット2.5のスキーマ・ネームスペースを指し示す場合、サーブレット・コンテナは注釈についてアプリケーションのクラス・ファイルを検証します。 

version 

値: web-app-versionType

デフォルト: n/a(必要) 

<web-app-class-loader>

親要素:

<orion-web-app>

子要素:

なし

必須/オプション

オプション、0または1つ

この要素は、クラスのロードの指示に使用します。

表B-27    <web-app-class-loader>属性 
名前  説明 

search-local-classes-first 

値: ブール

デフォルト: false

この属性をtrueに設定すると、システム・クラスの前にWARファイルのクラスが検索され、ロードされます。デフォルトでは、最初にシステム・クラスが検索され、ロードされます。 

include-war-manifest-class-path 

値: ブール

デフォルト: true

この属性をfalseに設定すると、(search-local-classes-firstの設定に関係なく)WARファイル・クラスの検索時とロード時に、WARファイルのマニフェストのClass-Path属性に指定されたCLASSPATHは含まれません。設定しない場合は、WARファイルのマニフェストのCLASSPATHは含まれません。 


注意

  • 両方の属性をtrueに設定すると、WARファイル内に物理的に常駐するクラスが、WARファイルのマニフェストのCLASSPATHのクラスより前にロードされるよう、全体のCLASSPATHが構成されます。したがって、競合が発生した場合、WARファイル内に物理的に常駐するクラスが優先されます。

  • サーブレット仕様により、search-local-classes-first機能は、java.*またはjavax.*パッケージでのクラスのロードには使用できません。

  • OracleのXMLパーサーまたはJDBCドライバのかわりにアプリケーションにパッケージされているXMLパーサーまたはJDBCドライバを使用する場合は、search-local-classes-first属性をtrueに設定してください。また、orion-application.xml<remove-inherited>タグで、デフォルトの継承済Oracleライブラリも指定する必要があります。 手順の詳細は、『Oracle Containers for J2EE開発者ガイド』を参照してください。

 


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

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