ナビゲーションをスキップ

WebLogic Server Web アプリケーションの開発

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

weblogic.xml デプロイメント記述子の要素

この章では、weblogic.xml ファイルのルート要素 <weblogic-web-app> に定義するデプロイメント記述子の要素について説明します。

weblogic.xml ファイルの DOCTYPE ヘッダは次のようになっています。

<!DOCTYPE weblogic-web-app PUBLIC
"-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">

http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtdweblogic.xml のドキュメント タイプ定義 (DTD) を参照することもできます。

 


description

description 要素は、Web アプリケーションの説明文です。

 


weblogic-version

weblogic-version 要素は、この Web アプリケーションをデプロイする WebLogic Server のバージョンを示します。この要素は参照用で、現在 WebLogic Server では使用されていません。

 


security-role-assignment

security-role-assignment 要素は、次の例で示すように、レルム内のセキュリティ ロールと 1 つまたは複数のプリンシパルの間のマッピングを宣言します。

<security-role-assignment>
     <role-name>PayrollAdmin</role-name>
     <principal-name>Tanya</principal-name>
     <principal-name>Fred</principal-name>
     <principal-name>system</principal-name>
</security-role-assignment>

次の表では、security-role-assignment 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<role-name>

必須

セキュリティ ロール名を指定する。

<principal-name>

必須

セキュリティ レルムで定義されるプリンシパルの名前を指定する。複数の <principal-name> 要素を使用してプリンシパルをロールにマップできる。セキュリティ レルムの詳細については、『WebLogic Security の管理』を参照。

<externally-defined>

省略可能

特定のセキュリティ ロールがセキュリティ レルムでグローバルに定義されていることを指定する。WebLogic Server では、このセキュリティ ロールをグローバル レルム内でルックアップするのではなくプリンシパル名として使用する。セキュリティ ロールと principal-name のマッピングが別の場所で定義されている場合、これは暗示的なプレースホルダとして使用される。

注意 : security-role-assignment 要素およびその下位要素を定義していない場合は、Web アプリケーション コンテナによってロール名がプリンシパル名として暗黙的にマップされ、ログに警告メッセージが出力されます。マッピングが定義されていないと、EJB コンテナはモジュールをデプロイしません。

以下に、ロール名が「role_xyz」の場合の使用例を示します。

 


run-as-role-assignment

run-as-role-assignment 要素は、web.xml の run-as ロール名 (servlet 要素の下位要素) をシステムの有効なユーザ名にマップします。この値は、servlet-descriptor の run-as-principal-name 要素によって任意のサーブレットについてオーバーライドできます。ロール名の run-as-role-assignment がない場合は、security-role-assignment に定義されている最初の principal-name を Web アプリケーション コンテナが選択します。

次の表では、run-as-role-assignment 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<role-name>

必須

セキュリティ ロール名を指定する。

<run-as-principal-name>

必須

プリンシパルの名前を指定する。

 


reference-descriptor

reference-descriptor 要素は、Web アプリケーションで使用される名前をサーバ リソースの JNDI 名にマップします。reference-description 要素には次の 2 つの要素が含まれています。resource-description 要素は DataSource などのリソースをその JNDI 名にマップします。ejb-reference 要素は EJB をその JNDI 名にマップします。

resource-env-description

resource-env-description 要素は、ejb-jar.xml デプロイメント記述子で宣言された resource-env-ref を、それが表しているサーバ リソースの JNDI 名にマップします。

次の表では、resource-env-description 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<res-env-ref-name>

必須

リソース環境名を指定する。

<jndi-name>

必須

リソース環境参照の JNDI 名を指定する。

.

resource-description

resource-description 要素は、サーバ リソースの JNDI 名を、WebLogic Server の EJB リソースの参照にマップするために使用されます。

次の表では、resource-description 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<res-ref-name>

必須

リソース参照名を指定する。

<jndi-name>

必須

リソースの JNDI 名を指定する。

.

ejb-reference-description

次の表では、ejb-reference-description 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<ejb-ref-name>

必須

Web アプリケーションで使用する EJB 参照の名前を指定する。

<jndi-name>

必須

参照の JNDI 名を指定する。

.

 


session-descriptor

session-descriptor 要素には、次の例で示すように HTTP セッションの属性を定義する session-param 要素が含まれます。

<session-descriptor>
  <session-param>
     <param-name>
       CookieDomain
     </param-name>
     <param-value>
       myCookieDomain
     </param-value>
  </session-param>
</session-descriptor>

session-param

次の表では、session-param 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<param-name>

必須

パラメータの名前を指定する。

<param-value>

必須

パラメータの値を指定する。

.

次の表では、session-param 要素内で定義できるセッション属性の名前と値について説明します。

属性名

デフォルト値

ConsoleMainAttribute


WebLogic Server Administration Console のセッション モニタを有効にした場合、この属性を、モニタリングされた各セッションを認識するためのセッション属性の名前に設定する。

CookieDomain

Null

クッキーが有効になるドメインを指定する。 たとえば、CookieDomain.mydomain.com に設定すると、*.mydomain.com ドメイン内のサーバにクッキーが返される。

ドメイン名には少なくとも 2 つのコンポーネントが必要である。 名前を *.com または *.net に設定すると無効になる。

この属性を設定しない場合、デフォルトは、クッキーを発行したサーバのドメイン。

詳細については、Sun Microsystems のサーブレット仕様にある Cookie.setDomain() を参照。

CookieComment

Weblogic Server Session Tracking Cookie

クッキー ファイル内のセッション トラッキングを行うクッキーを識別するコメントを指定する。

この属性を設定しない場合、デフォルトは WebLogic Session Tracking Cookie。アプリケーションに対して、より詳細な名前を指定できる。

CookieSecure

false

クッキーを HTTPS 接続でのみ返信するようブラウザに指示する。これにより、クッキー ID が保護され、HTTPS を使用する Web サイトでのみ使用されるようになる。この機能を有効にすると、HTTP でのセッション クッキーは機能しなくなる。

この機能を使用する予定がある場合は、URLRewritingEnabled 属性を無効にする必要がある。

CookieMaxAgeSecs

-1

セッション クッキーの有効期間を秒単位で設定する。時間が経過すると、クッキーはクライアントで期限切れになる。

値が 0 の場合、クッキーはすぐに期限切れになる。

最大値は Integer.MAX_VALUE で、クッキーは永久に期限切れにならない。

-1 に設定した場合、クッキーはユーザがブラウザを終了すると期限切れになる。

クッキーの詳細については、「Web アプリケーションにおけるセッションとセッション永続性の使用」を参照。

CookieName

JSESSIONID

セッション クッキー名を定義する。設定しない場合、デフォルトは JSESSIONID。アプリケーションに対して、より詳細な名前を指定できる。

CookiePath

Null

ブラウザによるクッキーの送信先のパス名を指定する。

この属性を設定しない場合、デフォルトは / (スラッシュ)。デフォルト値では、ブラウザは、WebLogic Server で指定されているすべての URL にクッキーを送信する。マップ対象を絞り込んだパスを設定し、リクエスト URL を、ブラウザがクッキーを送信するものに限定できる。

CookiesEnabled

true

セッション クッキーの使用はデフォルトで有効になっているが (推奨)、このプロパティを false に設定して無効にすることも可能。テストのためにこのオプションをオフにする場合もある。

EncodeSessionIdInQueryParams

false

デフォルトでは、HTTPServletResponse.encodeURL(URL) メソッドを使用して HTTP 応答内の URL をエンコードすると、URL 内の ; の後にパス パラメータとしてセッション ID が追加される。この動作は、2.3 J2EE サーブレット仕様で定義されており、WebLogic Server ではバージョン 6.1 以降で実装されている。

ただし、バージョン 6.0 以前のデフォルトの動作では、セッション ID は URL 内の ? の後にクエリ パラメータとして追加されていた。この古い動作を有効にするには、このセッション パラメータを true に設定する。

注意 : 通常、このパラメータは、WebLogic Server インスタンスが 2.3 サーブレット仕様に完全には準拠していない Web サーバと対話する場合に使用する。

IDLength

52

セッション ID のサイズを設定する。

最小値は 8 バイト、最大値は Integer.MAX_VALUE で指定した値。

WAP アプリケーションを作成する場合、WAP プロトコルはクッキーをサポートしていないため、URL を書き換える必要がある。また、一部の WAP デバイスでは、URL の長さに 128 文字 (属性も含む) の制限がある。この制限によって、URL 書き換えで転送できるデータ サイズが限られる。属性用の領域を確保するには、WebLogic Server でランダムに生成されるセッション ID のサイズをこの属性で制限する。

WAPEnabled 属性を設定して、長さを 52 文字までに制限し、特殊文字の使用を禁止することもできる。詳細については、『WebLogic Server Web アプリケーションの開発』の「URL 書き換えと Wireless Access Protocol (WAP)」を参照。

InvalidationIntervalSecs

60

WebLogic Server が、タイムアウトの無効なセッションに対してハウスクリーニング チェックを実行してから古いセッションを削除してメモリを解放するまでの待ち時間を秒単位で設定する。この属性を使用すると、トラフィックの多いサイトで WebLogic Server の動作を最適化できる。

最小値は毎秒 (1)。最大値は、週に 1 回 (604800 秒)。この属性を設定しない場合、デフォルトは 60 秒。

JDBCConnectionTimeoutSecs

120

WebLogic Server が JDBC 接続をタイムアウトするまでの待ち時間を秒単位で設定する (秒数)。

PersistentStoreDir

session_db

PersistentStoreTypefile に設定した場合、ディレクトリ パスは、WebLogic Server がセッションを保存する場所に設定される。ディレクトリ パスには、temp ディレクトリへの絶対パスを使用。temp ディレクトリは、context-param javax.servlet.context.tmpdir で指定する。

各セッションのサイズに有効なセッション数をかけたサイズを保存できるだけのディスク スペースを確保する必要がある。PersistentStoreDir に作成されたファイルを見ると、セッションのサイズが分かる。各セッションのサイズは、シリアライズされたセッション データの変更のサイズによって異なる。

このディレクトリを複数サーバ間での共有ディレクトリにすると、ファイル永続セッションをクラスタ対応にできる。

このディレクトリは手動で作成する必要がある。

PersistentStorePool

なし

永続ストレージに使用される JDBC 接続プールの名前を指定する。

PersistentStoreTable

wl_servlet_sessions

PersistentStoreType が jdbc に設定されているときだけ適用する。デフォルト以外のデータベース テーブル名を選択するときに使用する。

PersistentStoreType

memory

永続ストレージの方法を次のいずれかに設定する。

  • memory - 永続セッション ストレージを無効にする。

  • file - ファイル ベースの永続性を使用する (上記の「PersistenceStoreDir」を参照)。

  • jdbc - データベースを使用して永続セッションを格納する (上記の「PersistentStorePool」を参照)。

  • replicated - memory と同じだが、セッション データはクラスタ化されたサーバ間でレプリケートされる。

  • cookie - すべてのセッション データはユーザのブラウザ内のクッキーに格納される。

  • replicated_if_clustered - Web アプリケーションがクラスタ サーバにデプロイされる場合は、有効な PersistentStoreType がレプリケートされる。それ以外の場合は、memory がデフォルト。

PersistentStoreCookieName

WLCOOKIE

クッキーベースの永続性に使用するクッキーの名前を設定する。WLCOOKIE クッキーはセッション ステートを保持する。このクッキーは Web アプリケーション間で共有されないようにする。

詳細については、「クッキーベースのセッション永続性の使用」を参照。

TimeoutSecs

3600

WebLogic Server がセッションをタイムアウトするまでの待ち時間を秒単位で設定する (秒数)。

最小値は 1、デフォルト値は 3600、最大値は MAX_VALUE で指定した整数値。

トラフィックの多いサイトでは、セッションのタイムアウトを調整すると、アプリケーションの動作を最適化できる。ブラウザ クライアントでいつでもセッションを終了できるようにする必要がある場合でも、ユーザがサイトを離れるか、ユーザのセッションがタイムアウトになれば、サーバに接続する必要はなくなる。

この属性は、web.xmlsession-timeout 要素 (分単位で定義) によってオーバーライドされる可能性がある。詳細については、「session-config」を参照。

TrackingEnabled

true

複数のリクエストにわたって次のいずれかの方法でセッションを追跡することを Web アプリケーションに指定する。

SessionCookie

URLEncoding

false に設定すると、セッションは追跡されず、応答時に受け取ったクッキーは無視され、URL はエンコードされない。

URLRewritingEnabled

true

URL 書き換えを有効にする。これによって、セッション ID が URL にエンコーディングされ、クッキーがブラウザで無効の場合にセッション トラッキングが実行される。

 


jsp-descriptor

jsp-descriptor 要素は、JSP の属性名と値を定義します。属性は名前と値の組み合わせで定義します。次の例では、complieCommand 属性のコンフィグレーション方法を示します。この例のパターンを使って、すべての JSP コンフィグレーションを入力してください。

<jsp-descriptor>
     <jsp-param>
          <param-name>
            compileCommand
          </param-name>
          <param-value>
            sj
          </param-value>
     </jsp-param>
</jsp-descriptor>

次の表では、jsp-descriptor 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<jsp-param>

必須

サーブレット JSP のパラメータを指定する。 次の下位要素が含まれる。

  • <param-name> はパラメータ名を指定する。

  • <param-value> はパラメータ値を指定する。

.

JSP 属性の名前と値

次の表では、<jsp-param> 要素内で定義できる属性の名前と値について説明します。

属性名

デフォルト値

compileCommand

javac、または WebLogic Server Administration Console の [コンフィグレーション|チューニング] タブでサーバ用に定義した Java コンパイラ

生成された JSP サーブレットのコンパイルに使用する標準 Java コンパイラの絶対パスを指定する。 たとえば、標準 Java コンパイラを使用するには、以下のようにシステム内の場所を指定する。

<param-value>
  /jdk130/bin/javac.exe
</param-value>

パフォーマンスを向上させるには、IBM Jikes や Symantec sj などの別のコンパイラを指定する。

compileFlags

なし

1 つまたは複数のコマンドライン フラグをコンパイラに渡す。複数のフラグはスペースで区切り、引用符で囲む。次に例を示す。

<jsp-param>
  <param-name>compileFlags</param-name>
  <param-value>"-g -v"</param-value>
</jsp-param>

compilerclass

なし

WebLogic Server の仮想マシンで実行される Java コンパイラの名前 (javac または sj のような実行可能コンパイラの代わりに使用する)。この属性が設定されている場合、compileCommand 属性は無視される。

注意 : JSP はメモリ内 (プロセス内) で、またはコンパイル用に新しいプロセスを生成することでコンパイルできる。

compilerclass が指定されておらず、プロダクション モードが起動モードである場合に、新しいプロセスが生成される。インメモリ compilerclass オプションは、Sun が内部的に Java ファイルをコンパイルするために使用するコンパイラ クラスを使用します。詳細については、http://edocs.beasys.co.jp/e-docs/wls/docs81/jsp/reference.html にある「JSP のプリコンパイル」を参照。

debug

なし

true に設定すると、デバッグの助けになるように JSP 行番号が生成されたクラス ファイルに追加される。

encoding

ユーザのプラットフォームのデフォルト エンコーディング

JSP ページで使用されるデフォルトの文字セットを指定する。標準の Java 文字セット名を使用する。

この属性を設定しない場合、デフォルトはユーザのプラットフォームのエンコーディング。

JSP コードに含まれる JSP ページ ディレクティブはこの設定をオーバーライドする。次に例を示す。

<%@ page contentType="text/html; charset=custom-encoding"%>

compilerSupports
Encoding

true

true に設定すると、JSP コンパイラは、JSP ページの page ディレクティブに含まれる contentType 属性で指定されたエンコーディングを使用する。contentType が指定されていない場合は、jsp-descriptor の encoding 属性で定義されたエンコーディングを使用する。

false に設定すると、JSP コンパイラは、中間の .java ファイルを作成するときに JVM 用のデフォルト エンコーディングを使用する。

exactMapping

true

true の場合、JSP の最初の要求時に新しく作成される JspStub が正確なリクエストにマップされる。exactMapping が false に設定されている場合、Web アプリケーション コンテナは JSP 用に正確ではない url マッピングを生成する。exactMapping は JSP ページのパス情報を提供する。

keepgenerated

false

JSP コンパイル プロセスの間に生成される Java ファイルを保存する。この属性を true に設定しない限り、生成された Java ファイルはコンパイル後に削除される。

noTryBlocks

false

JSP ファイルに、多数のまたは深くネストしたカスタム JSP タグが含まれていて、コンパイル時に java.lang.VerifyError 例外が発生する場合、JSP を正しくコンパイルするためにこのフラグを使用します。

packagePrefix

jsp_servlet

すべての JSP ページがコンパイルされるパッケージを指定する。

pageCheckSeconds

1

JSP ファイルが変更されたために再コンパイルする必要があるかどうかをチェックする間隔を秒単位で設定する。変更されている場合は、依存関係もチェックされ、再帰的に再ロードされる。

0 に設定した場合は、要求されたときにページがチェックされる。このデフォルトは、開発環境向けに事前設定される。-1 に設定した場合、チェックおよび再コンパイルは無効。

JSP がまれにしか変更されないプロダクション環境では、チューニング要件に応じて pageCheckSeconds の値を 60 以上に変更するか、-1 に変更してページのチェックおよび再コンパイルを無効にする。

precompile

false

true に設定すると、Web アプリケーションのデプロイ (再デプロイ) 時または WebLogic Server の起動時に、変更されたすべての JSP が自動的にあらかじめコンパイルされる。

precompileContinue

false

true に設定すると、いずれかの JSP のコンパイルに失敗しても、変更されたすべての JSP がプリコンパイルされる。precompile が true に設定されている場合にのみ有効。

printNulls

null

false に設定すると、"null" を含む式は " " として出力される。

verbose

true

true に設定すると、デバッグ情報がブラウザ、コマンド プロンプト、および WebLogic Server ログ ファイルに出力される。

workingDir

内部に生成されるディレクトリ

WebLogic Server が、JSP 用に生成された Java とコンパイル済みのクラス ファイルを保存するディレクトリの名前。

compiler

javac

WebLogic Server のこのインスタンスに使用する JSP コンパイラを設定する。

superclass

weblogic.servlet.jsp.JspBase

JSP のデフォルト スーパークラスのオーバーライドを可能にする。JSP は、このベース クラスを拡張したサーブレット クラスとしてコンパイルされる。

 


auth-filter

auth-filter 要素は、認証フィルタの HttpServlet クラスを指定します。

 


container-descriptor

<container-descriptor> 要素は、Web アプリケーション用の汎用属性を定義します。

check-auth-on-forward

<check-auth-on-forward/> 要素は、サーブレットまたは JSP から転送されたリクエストの認証を必要とするときに追加します。再認証を必要としない場合、このタグは省略します。次に例を示します。

<container-descriptor>
    <check-auth-on-forward/>
</container-descriptor>

デフォルトの動作は、サーブレット仕様 2.3 のリリースで変更されたことに注意してください。サーブレット 2.3 仕様では、転送されたリクエストの認証は要求されないことが規定されています。

redirect-with-absolute-url

<redirect-with-absolute-url> 要素は、javax.servlet.http.HttpServletResponse.SendRedirect() メソッドでのリダイレクトに相対 URL と絶対 URL のどちらを使用するかを制御します。プロキシ HTTP サーバを使用しており、URL を非相対リンクに変換したくない場合は、この要素を false に設定します。

デフォルトの動作では、URL が非相対リンクに変換されます。

リダイレクトで使用されるユーザが読めるデータ。

index-directory-enabled

<index-directory-enabled> 要素は、適切なインデックス ファイルが見つからない場合に HTML ディレクトリのリストを自動的に生成するかどうかを制御します。

デフォルト値は false です (ディレクトリは生成されません)。値は true または false です。

index-directory-sort-by

<index-directory-sort-by> 要素は、weblogic.servlet.FileServlet で生成されるディレクトリ リストのソート順序を定義します。有効な sort-by 値は、NAME、LAST_MODIFIED、および SIZE です。デフォルトの sort-by 値は NAME です。

servlet-reload-check-secs

<servlet-reload-check-secs> 要素は、サーブレットが変更されたかどうかを WebLogic Server がチェックして、変更されていた場合に再ロードするかどうかを定義します。-1 という値を指定すると、サーバはサーブレットのチェックを行いません。0 を指定すると、サーバはサーブレットを常時チェックします。デフォルトでは 1 秒ごとにチェックします。

コンソールで指定する値は、手動で設定する値よりも常に優先されます。

single-threaded-servlet-pool-size

<single-threaded-servlet-pool-size> 要素は、SingleThreadMode インスタンス プールで使用するプールのサイズを定義します。デフォルト値は 5 です。

session-monitoring-enabled

<session-monitoring-enabled> 要素を true に設定すると、セッションの実行時 MBean を作成できます。false (デフォルト値) に設定すると、実行時 MBean は作成されません。コンソールで指定する値は、手動で設定する値よりも優先されます。

save-sessions-enabled

<save-sessions-enabled> 要素は、再デプロイまたはアンデプロイ時にセッション データをクリーンアップするかどうかを制御します。これはメモリとレプリケート セッションに影響します。値を true に設定すると、セッション データは保存されます。false に設定すると、Web アプリケーションが再デプロイまたはアンデプロイされるときにセッション データは破棄されます。デフォルトは false です。

prefer-web-inf-classes

<prefer-web-inf-classes> 要素を true に設定すると、Web アプリケーションの WEB-INF ディレクトリ内のクラスが、アプリケーションまたはシステム クラスローダにロードされるクラスよりも優先してロードされます。デフォルト値は false です。コンソールで指定する値は、手動で設定する値よりも優先されます。

default-mime-type

<default-mime-type> 要素のデフォルト値は null です。この要素を使用すると、拡張がマップされていない content-type のデフォルトの MIME タイプを指定できます。

retain-original-url

<retain-original-url> 要素を true に設定すると、認証 URL に転送される前に要求していた元の URL に HTTP を保持できます。

認証 URL を使用してログインに成功すると、本来要求していた URL に戻されます。

 


charset-params

<charset-params> 要素は、Unicode 以外の処理でコード セット動作を定義するために使います。次に例を示します。

<charset-params> 
<input-charset>
<resource-path>/*</resource-path> 
<java-charset-name>UTF-8</java-charset-name> 
</input-charset>
</charset-params>

input-charset

<input-charset> 要素を使って、GET データと POST データの読み取りにどの文字セットを使用するのかを定義します。次に例を示します。

<input-charset>
    <resource-path>/foo</resource-path>
    <java-charset-name>SJIS</java-charset-name>
</input-charset>

詳細については、「サーブレット、コンテキスト リスナ、フィルタのロード」を参照してください。

次の表では、<input-charset> 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<resource-path>

必須

リクエストの URL に含まれている場合、<java-charset-name> で指定されている Java 文字セットを使用するように WebLogic Server に知らせるパス。

<java-charset-name>

必須

使用する Java 文字セットを指定する。

.

charset-mapping

<charset-mapping> 要素を使って、IANA 文字セット名を Java 文字セット名にマップします。次に例を示します。

<charset-mapping>
    <iana-charset-name>Shift-JIS</iana-charset-name>
    <java-charset-name>SJIS</java-charset-name>
</charset-mapping>

詳細については、「IANA 文字セットの Java 文字セットへのマッピング」を参照してください。

次の表では、<charset-mapping> 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<iana-charset-name>

必須

<java-charset-name> 要素で指定された Java 文字セットにマップされる IANA 文字セット名を指定する。

<java-charset-name>

必須

使用する Java 文字セットを指定する。

.

 


virtual-directory-mapping

virtual-directory-mapping 要素は、特定の種類のリクエスト (画像リクエストなど) 用に、Web アプリケーションのデフォルト ドキュメント ルート以外のドキュメント ルートを指定するために使用します。Web アプリケーション セット用のすべての画像は単一の場所に格納することができ、それらを使用する各 Web アプリケーションのドキュメント ルートにコピーする必要がありません。リクエストを受信した場合、仮想ディレクトリが指定されていれば、サーブレット コンテナは要求されたリソースをまず仮想ディレクトリで検索し、次に Web アプリケーションのデフォルト ドキュメント ルートで検索します。これにより、同じドキュメントが両方の場所に存在する場合の優先順位が決まります。

次に例を示します。

<virtual-directory-mapping>
     <local-path>c:/usr/gifs</local-path>
     <url-pattern>/images/*</url-pattern>
     <url-pattern>*.jpg</url-pattern>
</virtual-directory-mapping>
<virtual-directory-mapping>
     <local-path>c:/usr/common_jsps.jar</local-path>
     <url-pattern>*.jsp</url-pattern>
</virtual-directory-mapping>

次の表では、virtual-directory-mapping 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<local-path>

必須

ディスク上の物理位置を指定する。

<url-pattern>

必須

マッピングの URL パターンを含む。サーブレット API 仕様のセクション 11.2 で指定されているルールに準拠している必要がある。

仮想ディレクトリ マッピングの WebLogic Server 実装では、マッピングの url-pattern に一致するディレクトリが必要です。上記の画像の例であれば、c:/usr/gifs/images に images というディレクトリを作成する必要があります。これにより、サーブレット コンテナが images ディレクトリにある複数の Web アプリケーションの画像を見つけることが可能になります。

 


url-match-map

この要素は、URL パターン マッチング用のクラスを指定するために使用します。WebLogic Server のデフォルト URL マッチ マッピング クラスは J2EE 仕様に基づく weblogic.servlet.utils.URLMatchMap です。また、WebLogic Server には SimpleApacheURLMatchMap も実装されています。これは、url-match-map 要素を使用してプラグインできます。

SimpleApacheURLMatchMap のルールを示します。

*.jws を JWSServlet にマップする場合

http://foo.com/bar.jws/baz は pathInfo = baz を使用して JWSServlet に解決されます。

次の例に示すように、使用する URLMatchMap を weblogic.xml でコンフィグレーションします。

 <url-match-map>
   weblogic.servlet.utils.SimpleApacheURLMatchMap
</url-match-map>

 


preprocessor

preprocessor 要素では、プリプロセッサの宣言的なデータを指定します。

次の表では、preprocessor 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<preprocessor-name>

必須

プリプロセッサの標準名を含む。

<preprocessor-class>

必須

プリプロセッサの完全修飾クラス名を含む。

 


preprocessor-mapping

preprocessor-mapping 要素では、プリプロセッサと URL パターンの間のマッピングを定義します。

次の表では、preprocessor-mapping 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<preprocessor-name>

必須


<url-pattern>

必須


 


security-permission

security-permission 要素は、セキュリティ ポリシー ファイル構文に基づいて単一のセキュリティ パーミッションを指定します。Sun のセキュリティ パーミッション仕様の実装については、次の URL を参照してください。

http://java.sun.com/j2se/1.3/docs/guide/security/PolicyFiles.html#FileSyntax

オプションの codebase および signedBy 句は無視してください。

次に例を示します。

<security-permission-spec>
     grant { permission java.net.SocketPermission "*", "resolve" };
</security-permission-spec>

各要素の説明は次のとおりです。

permission java.net.SocketPermission はパーミッション クラス名。

"*" は対象名を示す。

resolve はアクションを示す。

 


context-root

context-root 要素は、このスタンドアロン Web アプリケーションのコンテキスト ルートを定義します。Web アプリケーションがスタンドアロンではなく EAR の一部である場合、EAR の application.xml ファイルにコンテキスト ルートを指定します。application.xml の context-root 設定は、weblogic.xml の context-root 設定に優先します。

この weblogic.xml 要素は、2 フェーズ デプロイメント モデルを使用するデプロイメントに対してのみ有効に機能します。『WebLogic Server アプリケーションのデプロイメント』の「2 フェーズ デプロイメント プロトコル」を参照してください。

Web アプリケーションのコンテキスト ルートの優先順位は次のとおりです。

  1. application.xml のコンテキスト ルートをチェックし、見つかった場合は Web アプリケーションのコンテキスト ルートとして使用します。
  2. コンテキスト ルートが application.xml で設定されておらず、Web アプリケーションが EAR の一部としてデプロイされる場合、コンテキスト ルートが weblogic.xml に定義されているかどうかをチェックします。見つかった場合は、Web アプリケーションのコンテキスト ルートとして使用します。Web アプリケーションがスタンドアロンとしてデプロイされる場合、application.xml は使用されず、コンテキスト ルートのチェックは weblogic.xml で開始されます。このファイルに定義されていない場合、デフォルトによって URI が使用されます。
  3. コンテキスト ルートが weblogic.xml と application.xml のどちらにも定義されていない場合、コンテキスト パスは URI から推定され、URI に定義されている値から WAR サフィックスを取り除いた名前が付けられます。たとえば、URI が MyWebApp.war の場合は、MyWebApp という名前が付けられます。

 


wl-dispatch-policy

wl-dispatch-policy 要素を使用して、実行キュー名を指定し、Web アプリケーションをコンフィグレーションされた実行キューに割り当てます。

 


servlet-descriptor

servlet-descriptor 要素を使用して、サーブレット固有の要素を集約します。

次の表では、servlet-descriptor 要素内で定義できる要素について説明します。

要素

必須/
省略可能

説明

<servlet-name>

必須

web.xml デプロイメント記述子ファイルのサーブレット要素に定義されたサーブレット名を指定する。

<run-as-principal-name>

省略可能

web.xml デプロイメント記述子に定義された run-as-role-name に対するプリンシパル名を含む。

<init-as-principal-name>

省略可能

サーブレットの init メソッドの run-as-principal-name と同じ。ここに指定する ID はシステムの有効なユーザ名である必要がある。init-as-principal-name を指定しない場合、コンテナは run-as-principal-name 要素を使用する。

<destroy-as-principal-name>

省略可能

サーブレットの destroy メソッドの run-as-principal-name と同じ。ここに指定する ID はシステムの有効なユーザ名である必要がある。destroy-as-principal-name を指定しない場合、コンテナは run-as-principal-name 要素を使用する。

<dispatch-policy>

省略可能

この要素は非推奨。実行キュー名を指定して、ある特定のサーブレットを割り当てるためにコンフィグレーションされた execute-queue に使用する。この設定は、wl-dispatch-policy で定義した Web アプリケーション レベルのディスパッチ ポリシーをオーバーライドする。

 


init-as

これは、サーブレットの init メソッドの <run-as> と同じです。

次に例を示します。

  <init-as>
    <servlet-name>FooServlet</servlet-name>
    <principal-name>joe</principal-name>
  </init-as>

 


destroy-as

これは、サーブレットの destroy メソッドの <run-as> と同じです。

次に例を示します。

<destroy-as>

<servlet-name>BarServlet</servlet-name>

<principal-name>bob</principal-name>

</destroy-as>

 

ページの先頭 前 次