BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > Web アプリケーションのアセンブルとコンフィグレーション > weblogic.xml デプロイメント記述子の要素 |
Web アプリケーションのアセンブルとコンフィグレーション
|
この章では、weblogic.xml ファイルで定義するルート要素 <weblogic-web-app> の下にあるデプロイメント記述子の要素について説明します。
weblogic.xml ファイルの DOCTYPE ヘッダは、次のとおりです。
<!DOCTYPE weblogic-web-app PUBLIC
"-//BEA Systems, Inc.//DTD Web Application 7.0//EN"
"http://www.bea.com/servers/wls700/dtd/weblogic700-web-jar.dtd">
http://www.bea.com/servers/wls700/dtd/weblogic700-web-jar.dtd で weblogic.xml の文書型記述子 (DTD) を参照することもできます。
description 要素は、Web アプリケーションの説明文です。
weblogic-version 要素は、この Web アプリケーションをデプロイする WebLogic Server のバージョンを示します。この要素は参照用で、現在 WebLogic Server では使用されていません。
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 要素内で定義できる要素について説明します。
セキュリティ レルムで定義されるプリンシパルの名前を指定する。複数の <principal-name> 要素を使用してプリンシパルをロールにマップできる。セキュリティ レルムの詳細については、『WebLogic Security の管理』を参照。 |
reference-descriptor 要素は、Web アプリケーションで使用される名前をサーバ リソースの JNDI 名にマップします。reference-description 要素には次の 2 つの要素が含まれています。 resource-description 要素は DataSource などのリソースをその JNDI 名にマップします。ejb-reference 要素は EJB をその JNDI 名にマップします。
次の表では、resource-description 要素内で定義できる要素について説明します。
次の表では、ejb-reference-description 要素内で定義できる要素について説明します。
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 要素内で定義できるセッション パラメータの名前と値について説明します。
クッキーが有効になるドメインを指定する。たとえば、CookieDomain を .mydomain.com に設定すると、*.mydomain.com ドメイン内のサーバにクッキーが返される。 ドメイン名には少なくとも 2 つのコンポーネントが必要である。名前を *.com または *.net に設定すると無効になる。 このパラメータを設定しない場合、デフォルトは、クッキーを発行したサーバのドメイン。 詳細については、Sun Microsystems のサーブレット仕様にある Cookie.setDomain() を参照。 |
||
クッキー ファイル内のセッションをトラッキングするクッキーを識別するコメントを指定する。 このパラメータを設定しない場合、デフォルトは WebLogic Session Tracking Cookie。アプリケーションに対して、より詳細な名前を指定できる。 |
||
セッション クッキーの有効期間を秒単位で設定する。時間が経過すると、クッキーはクライアントで期限切れになる。 最大値は Integer.MAX_VALUE で、クッキーは永久に期限切れにならない。 -1 に設定した場合、クッキーはユーザがブラウザを終了すると期限切れになる。 クッキーの詳細については、Web アプリケーションにおけるセッションとセッション永続性の使用を参照。 |
||
セッション クッキー名を定義する。設定しない場合、デフォルトは JSESSIONID。アプリケーションに対して、より詳細な名前を指定できる。ProxyByExtension を使用している場合は、;jsessionid 識別子または ?jsessionid 識別子を使用して、書き換えた URL を渡すことができる。 |
||
このパラメータを設定しない場合、デフォルトは/ (スラッシュ)。デフォルト値では、ブラウザは、WebLogic Server で指定されているすべての URL にクッキーを送信する。マップ対象を絞り込んだパスを設定し、リクエスト URL を、ブラウザがクッキーを送信するものに限定できる。 |
||
セッション クッキーの使用はデフォルトで有効になっているが (推奨)、このプロパティを false に設定して無効にすることも可能。テストするためにこのオプションをオフにする場合もある。 |
||
このパラメータを設定すると、クライアントのブラウザは HTTPS 接続を介してのみクッキーを返送する。これにより、クッキー ID の安全を確保し、HTTPS だけを使用する Web サイトでのみ使用することが保証される。この機能を有効にすると、HTTP を介したセッション クッキーは機能しなくなり、クライアントが HTTPS 以外のサイトに誘導された場合でもセッションは送信されない。 |
||
デフォルトでは、HTTPServletResponse.encodeURL(URL) メソッドを使用して HTTP 応答の URL をエンコードすると、URL の ; 文字の後にパス パラメータとしてセッション識別子が追加される。 この動作は、WebLogic Server のバージョン 6.1 で実装されたサーブレット 2.3 J2EE 仕様で定義されている。 ただし、WebLogic Server のバージョン 6.0 以前のデフォルトでは、URL の ? 文字の後にクエリ パラメータとしてセッション識別子が追加されていた。 この古い動作を有効にするには、このセッション パラメータを true に設定する。 注意: このパラメータは通常、サーブレット 2.3 仕様に完全には準拠していない Web サーバと WebLogic Server が対話する場合に使用する。 |
||
WebLogic Server が、タイムアウトした無効なセッションに対してハウスクリーニング チェックを実行してから古いセッションを削除してメモリを解放するまでの待ち時間を秒単位で設定する。このパラメータを使用すると、トラフィックの多いサイトで WebLogic Server の動作を最適化できる。 最小値は毎秒 (1)。 最大値は、週に 1 回 (604800 秒)。 このパラメータを設定しない場合、デフォルトは 60 秒。 |
||
PersistentStoreType を file に設定した場合、ディレクトリ パスは、WebLogic Server がセッションを保存する場所に設定される。ディレクトリ パスには、temp ディレクトリの相対パスか絶対パスのどちらかを使用。temp ディレクトリは、Web アプリケーションの WEB-INF ディレクトリ下に生成されたディレクトリか、コンテキスト パラメータ javax.servlet.context.tmpdir で指定されたディレクトリ。 各セッションのサイズに有効なセッション数をかけたサイズを保存できるだけのディスク スペースを確保する必要がある。PersistentStoreDir に作成されたファイルを見ると、セッションのサイズが分かる。各セッションのサイズは、シリアライズされたセッション データの変更のサイズによって異なる。 |
||
PersistentStoreType が jdbc に設定されているときだけ適用する。デフォルト以外のデータベース テーブル名を選択した場合に使用される。 |
||
クッキーベースの永続性に使用するクッキーの名前を設定する。 詳細については、クッキーベースのセッション永続性の使用を参照。 |
||
WebLogic Server がセッションをタイムアウトするまでの待ち時間を秒単位で設定する (秒数)。 最小値は 1、デフォルト値は 3600、最大値は MAX_VALUE で指定した整数値。 トラフィックの多いサイトでは、セッションのタイムアウトを調整すると、アプリケーションの動作を最適化できる。ブラウザ クライアントでいつでもセッションを終了できるようにする必要がある場合でも、ユーザがサイトを離れるか、ユーザのセッションがタイムアウトになれば、サーバに接続する必要はなくなる。 このパラメータは、web.xml の session-timeout 要素 (分単位で定義) によってオーバライドされる可能性がある。 詳細については、session-configを参照。 |
||
URL 書き換えを有効にする。これによって、セッション ID が URL にエンコーディングされ、クッキーがブラウザで無効の場合にセッション トラッキングが実行される。 |
||
WebLogic Server Administration Console のセッション モニタを有効にした場合、このパラメータを、モニタリングされた各セッションを認識するためのセッション パラメータの名前に設定する。 |
||
jsp-descriptor 要素は、JSP のパラメータ名と値を定義します。パラメータは名前と値の組み合わせで定義します。次の例では、complieCommand パラメータのコンフィグレーション方法を示します。この例のパターンを使って、すべての JSP コンフィグレーションを入力してください。
<jsp-descriptor>
<jsp-param>
<param-name>
compileCommand
</param-name>
<param-value>
sj
</param-value>
</jsp-param>
</jsp-descriptor>
次の表では、<jsp-param> 要素内で定義できるパラメータの名前と値について説明します。
javac、または WebLogic Server Administration Console の |
生成された JSP サーブレットのコンパイルに使用する標準 Java コンパイラの絶対パスを指定する。たとえば、標準 Java コンパイラを使用するには、以下のようにシステム内の場所を指定する。 |
|
1 つまたは複数のコマンドライン フラグをコンパイラに渡す。複数のフラグはスペースで区切り、引用符で囲む。 次に例を示す。 <jsp-param> |
||
WebLogic Server の仮想マシンで実行される Java コンパイラの名前。(javac または sj のような実行可能コンパイラの代わりに使用する)。このパラメータが設定されている場合、compileCommand パラメータは無視される。 |
||
JSP ページで使用されるデフォルトの文字セットを指定する。 標準 Java 文字セット名を使用する。 このパラメータを設定しない場合、デフォルトはユーザのプラットフォームのエンコーディング。 |
||
true に設定すると、JSP コンパイラは、JSP ページの page ディレクティブに含まれる contentType 属性で指定されたエンコーディングを使用する。contentType が指定されていない場合は、jsp-descriptor の encoding パラメータで定義されたエンコーディングを使用する。 false に設定すると、JSP コンパイラは、中間の .java ファイルを作成するときに JVM 用のデフォルト エンコーディングを使用する。 |
||
true の場合、JSP の最初の要求時に、新しく作成される JspStub が正確な要求にマップされる。exactMapping が false に設定されている場合、Web アプリケーション コンテナは JSP 用に正確ではない url マッピングを生成する。exactMapping は JSP ページのパス情報を提供する。 |
||
JSP コンパイル プロセスの間に生成される Java ファイルを保存する。このパラメータを true に設定しない限り、生成された Java ファイルはコンパイル後に削除される。 |
||
JSP ファイルに、多数のまたは深くネストしたカスタム JSP タグが含まれていて、コンパイル時に java.lang.VerifyError 例外が発生する場合、このフラグを使って JSP を正しくコンパイルするできるようにする。 |
||
JSP ファイルが変更されたために再コンパイルする必要があるかどうかをチェックする間隔を秒単位で設定する。変更されている場合は、依存関係もチェックされ、再帰的に再ロードされる。 0 に設定した場合は、リクエストされたときにページがチェックされる。-1 に設定した場合、チェックおよび再コンパイルは無効。 |
||
true に設定すると、Web アプリケーションのデプロイ (再デプロイ) 時または WebLogic Server の起動時に、修正されたすべての JSP が自動的にプリコンパイルされる。 |
||
true に設定すると、デバッグ情報がブラウザ、コマンド プロンプト、および WebLogic Server ログ ファイルに出力される。 |
||
WebLogic Server が、JSP 用に生成された Java と コンパイル済みのクラス ファイルを保存するディレクトリの名前。 |
||
JSP のデフォルト スーパークラスをオーバーライドする手段を提供する。 JSP は、この基本クラスから拡張したサーブレット クラスとしてコンパイルされる。 |
||
true に設定すると、文字列「null」が出力される。 printNulls を false に設定すると、「null」ではなく空の文字列が出力される。 |
auth-filter 要素は、認証フィルタ HttpServlet クラスを指定します。
<container-descriptor> 要素は、Web アプリケーション用の汎用パラメータを定義します。
<check-auth-on-forward/> 要素は、サーブレットまたは JSP から転送されたリクエストの認証を必要とするときに追加します。再認証を必要としない場合、このタグは省略します。 次に例を示します。
<container-descriptor>
<check-auth-on-forward/>
</container-descriptor>
デフォルトの動作は、サーブレット仕様 2.3 のリリースで変更されたことに注意してください。サーブレット 2.3 仕様では、転送されたリクエストの認証は要求されないことが規定されています。
redirect-content-type 要素を設定すると、サーブレット コンテナは指定されたタイプを内部リダイレクト用の応答 (ウエルカム ファイルなど) に設定します。
redirect-content 要素を設定すると、サーブレット コンテナは、リダイレクトで使用される、ユーザが読めるデータの値として指定された内容を使用します。
<redirect-with-absolute-url> 要素は、javax.servlet.http.HttpServletResponse.SendRedirect() メソッドでのリダイレクトに相対 URL と絶対 URL のどちらを使用するかを制御します。 プロキシ HTTP サーバを使用しており、URL を非相対リンクに変換したくない場合は、この要素を false に設定します。
デフォルトの動作では、URL が非相対リンクに変換されます。
<charset-params> 要素は、Unicode 以外の処理でコードセット動作を定義するために使います。
<input-charset> 要素を使って、GET データと POST データの読み取りにどの文字セットを使用するのかを定義します。 次に例を示します。
<input-charset>
<resource-path>/foo</resource-path>
<java-charset-name>SJIS</java-charset-name>
</input-charset>
詳細については、HTTP リクエストのエンコーディングの識別を参照してください。
次の表では、<input-charset> 要素内で定義できる要素について説明します。
<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> 要素内で定義できる要素について説明します。
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 要素内で定義できる要素について説明します。
この要素は、URL パターン マッチング用のクラスを指定するために使用します。WebLogic Server のデフォルト URL マッチ マッピング クラスは J2EE 仕様に基づく weblogic.servlet.utils.URLMatchMap です。また、WebLogic Server には SimpleApacheURLMatchMap も実装されています。これは、url-match-map 要素を使用してプラグインできます。
SimpleApacheURLMatchMap のルールを示します。
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-mapping 要素は、プリプロセッサと URL パターンの間のマッピングを定義します。
次の表では、preprocessor-mapping 要素内で定義できる要素について説明します。
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 はパーミッション クラス名
context-root 要素は、このスタンドアロン Web アプリケーションのコンテキスト ルートを定義します。Web アプリケーションがスタンドアロンではなく EAR の一部である場合、EAR の application.xml ファイルにコンテキスト ルートを指定します。application.xml の context-root 設定は、weblogic.xml の context-root 設定に優先します。
この weblogic.xml 要素は、2 フェーズ デプロイメント モデルを使用するデプロイメントに対してのみ有効に機能します。『WebLogic Server アプリケーションの開発』の「2 フェーズ デプロイメント 」を参照してください。
Web アプリケーションのコンテキスト ルートの優先順位は次のとおりです。
この要素は、サーブレットの init メソッドの <run-as> に相当します。 <init-as> 要素の場合、有効なプリンシパル名を指定する必要があります。 プリンシパル名としてグループやロール名を指定することはできません。
<init-as>
<servlet-name>FooServlet</servlet-name>
<principal-name>joe</principal-name>
</init-as>
この要素は、サーブレットの destroy メソッドの <run-as> に相当します。 <destroy-as> 要素の場合、有効なプリンシパル名を指定する必要があります。 プリンシパル名としてグループやロール名を指定することはできません。
<servlet-name>BarServlet</servlet-name>
<principal-name>bob</principal-name>
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |