WebLogic HTTP サーブレット プログラマーズ ガイド
![]() |
![]() |
![]() |
![]() |
以下の節では、WebLogic HTTP サーブレットの管理およびコンフィグレーション タスクの概要について説明します。サーブレットの管理とコンフィグレーションの詳細については、「サーブレットのコンフィグレーション」を参照してください。
Java 2 Enterprise Edition の規格に準拠するため、HTTP サーブレットは Web アプリケーションの一部としてデプロイされます。Web アプリケーションとは、サーブレット クラス、JavaServer Pages (JSP)、静的な HTML ページ、画像、ユーティリティ クラスなどのアプリケーション コンポーネントをグループ化したものです。
Web アプリケーションでは、コンポーネントは標準的なディレクトリ構造を用いてデプロイされます。このディレクトリ構造は、.war
ファイルと呼ばれるファイルにアーカイブされて、WebLogic Server 上にデプロイされます。Web アプリケーションのリソースと操作パラメータに関する情報は、Web アプリケーションと共にパッケージ化されている 2 つのデプロイメント記述子で定義されます。
第 1 のデプロイメント記述子 web.xml
は、Sun Microsystems のサーブレット 2.3 仕様に従って定義され、Web アプリケーションを標準フォーマットで記述できます。第 2 のデプロイメント記述子 weblogic.xml
は、web.xml
ファイルで定義されているリソースを WebLogic Server 内で使用可能なリソースにマップして、JSP の動作と HTTP セッション パラメータを定義する WebLogic 固有のデプロイメント記述子です。
Web アプリケーションのデプロイメント記述子では、HTTP サーブレットの以下の属性を定義します。
init()
メソッドを WebLogic Server の起動時に実行するかどうかweb.xml
ファイルの作成に関する詳細については、「デプロイメント記述子」を参照してください。
WebLogic 固有のデプロイメント記述子では、HTTP サーブレットの以下の属性を定義します。
web.xml
ファイルの作成に関する詳細については、「デプロイメント記述子」を参照してください。
WebLogic Server Administration Console を使用して、以下のパラメータを設定します。
」
」
すべての Web アプリケーションについて、以下のディレクトリ構造を使用します。
Default WebApp/(.jsp、.html、.jpg、.gif などの
| 公開されるファイル)
|
+WEB-INF/-+
|
+ classes/(Web アプリケーションで使用
| されるサーブレットなどの
| Java クラスを格納する
| ディレクトリ)
|
+ lib/(Web アプリケーションで使用
| される jar ファイルを格納する
| ディレクトリ)
|
+ web.xml
|
+ weblogic.xml
Web アプリケーションでサーブレットを参照するための URL は、次のように構成されます。
http://myHostName:port/myContextPath/myRequest/?myRequestParameters
WebLogic Server Administration Console で定義される、WebLogic Server にマップされる DNS 名です。
URL のこの部分は、host:port
に置き換えられます。host
は、WebLogic Server が動作しているマシン名、port
は WebLogic Server がリクエストをリスンしているポートです。
WebLogic Server がリクエストをリスンしているポートです。サーブレットは、Server MBean と SSL MBean 上の listenPort ポートを通じてのみ、プロキシと通信することができます。
WebLogic Server には、J2EE のマッチング ルールに適合していない URL マッチング ユーティリティを実装する機能があります。マッチングユーティリティは、デフォルトで実装される URLMatchMap とは異なり、web.xml デプロイメント記述子ではなく、weblogic.xml デプロイメント記述子に指定します。
URL マッチング ユーティリティを WebLogic Server で使用するには、次のインタフェースを実装する必要があります。
Package weblogic.servlet.utils;
public void put(String pattern, Object value);
public Object get(String uri);
public void remove(String pattern)
public void setDefault(Object defaultObject);
public void setCaseInsensitive(boolean ci);
public boolean isCaseInsensitive();
SimpleApacheURLMatchMap ユーティリティ
同梱されている SimpleApacheURLMatchMap ユーティリティは、J2EE 固有のユーティリティではありません。このユーティリティは、weblogic.xml デプロイメント記述子ファイルに指定します。このユーティリティを使用すると、ユーザは、web.xml デプロイメント記述子に指定されたデフォルトの URL パターン マッチングではなく、Apache スタイルのパターン マッチングを指定することができます。
サーブレットのセキュリティは、そのサーブレットが含まれる Web アプリケーションのコンテキストで定義されます。セキュリティは WebLogic Server で処理することも、プログラムによってサーブレット クラスに組み込むこともできます。
詳細については、『WebLogic リソースのセキュリティ』を参照してください。
次の 3 つの手法のうちいずれかを使用して、サーブレットにユーザ認証を組み込むことができます。
BASIC および FORM の手法は、ユーザとパスワードの情報が格納されたセキュリティ ロール内に呼び出しを行うものです。WebLogic Server に付属しているデフォルトのロールを使うことも、Windows NT、UNIX、RDBMS の各ロール、ユーザ定義のロールなど、既存のさまざまなロールを使うこともできます。セキュリティ ロールの詳細については、「セキュリティの基礎概念」を参照してください。
セキュリティ制約を使用すると、Web アプリケーションにおけるサーブレットなどのリソースへのアクセスを制限することができます。セキュリティ制約は、Web アプリケーション デプロイメント記述子 (web.xml
) で定義されています。セキュリティ制約には、3 つの基本的なタイプがあります。
ロールは、プリンシパルにマップできます。特定リソースの制約は、URL パターンと Web アプリケーション内のリソースを一致させることにより実現します。また、セキュリティ制約としてセキュア ソケット レイヤ (SSL) を使用できます。
HttpServletRequest
インタフェースの次のいずれかのメソッドを使用して、プログラム的に認可を実行することも可能です。
詳細については、javax.servlet API を参照してください。
HTTP サーブレットを作成する際には、次のヒントを考慮してください。
WEB-INF/classes
ディレクトリにコンパイルする。web.xml
) に登録する。init()
メソッドが呼び出されます。変更後のサーブレット クラスが検出された場合、サーブレット クラス間に依存関係が存在する可能性があるため、すべてのサーブレットが再ロードされます。WebLogic Server がタイム スタンプをチェックする間隔 (秒単位) を [サーブレット再ロードのチェック間隔 (秒)
] 属性で設定できます。この属性は、Administration Console の Web アプリケーションの [記述子
] タブで設定します。この属性をゼロにすると、WebLogic Server はリクエストごとにタイム スタンプをチェックします。これはサーブレットの開発とテスト中には便利ですが、プロダクション環境では必要以上に時間を消費します。この属性を -1
に設定すると、WebLogic Server は変更されたサーブレットについてチェックを行いません。
サーブレットをクラスタ化すると、フェイルオーバとロード バランシングのメリットを活かせます。WebLogic Server のクラスタにサーブレットをデプロイするには、サーブレットを含む Web アプリケーションをクラスタ内の全サーバにデプロイします。手順については、『WebLogic Server クラスタ ユーザーズ ガイド』の「アプリケーションをデプロイする」を参照してください。
サーブレットのクラスタ化に関する要件と、クラスタ化されたサーブレットに送られるリクエストの接続およびフェイルオーバ プロセスの詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「サーブレットと JSP のレプリケーションとフェイルオーバ」を参照してください。
注意 : サーブレットの自動フェイルオーバには、サーブレット セッション ステートをメモリ内にレプリケートする必要があります。手順については、『WebLogic Server クラスタ ユーザーズ ガイド』の「インメモリ HTTP レプリケーションをコンフィグレーションする」を参照してください。
サーブレットについて WebLogic Server クラスタでサポートされるロード バランシングの詳細と、関連するプランニングとコンフィグレーションにおける開発者および管理者向けの考慮事項については、『WebLogic Server クラスタ ユーザーズ ガイド』の「サーブレットと JSP のロード バランシング」を参照してください。
![]() |
![]() |
![]() |