プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server Webアプリケーション、サーブレット、JSP の開発
12c (12.2.1.3.0)
E90351-03
目次へ移動
目次

前

D Webアプリケーションのベスト・プラクティス

WebLogic ServerのWebLogic Webアプリケーションとアプリケーション・リソースの設計、開発、およびデプロイにおけるベスト・プラクティスを示します。

この付録の内容は次のとおりです。

CGIのベスト・プラクティス

サブスクリプトの呼出しに関するCGIのベスト・プラクティスを確認します。

  • sh subscript.shは、展開(非アーカイブ) WebアプリケーションおよびアーカイブWebアプリケーション(WARファイル)の両方に使用できます。

  • sh $PWD/subscript.shは、展開(非アーカイブ) WebアプリケーションおよびアーカイブWebアプリケーション(WARファイル)の両方に使用できます。

  • sh $DOCUMENT_ROOT/$PATH/subscript.sh は、展開(非アーカイブ) Webアプリケーションに使用できます。アーカイブWebアプリケーション(WARファイル)には使用できません。これは、ドキュメント・ルートがお使いのWARファイルのルートを指している場合があり、スクリプト言語でそのWARファイルを開いて実行に必要なsubscript.shを検出できないことがあるためです。これはshのみでなく、すべてのスクリプト言語に当てはまります。

サーブレットのベスト・プラクティス

HTTPサーブレットを記述する際は、推奨されるベスト・プラクティスを確認してください。

  • サーブレット・クラスは、WebアプリケーションのWEB-INF/classesディレクトリにコンパイルします。

  • サーブレットは、必ずJava EE標準のWebアプリケーション・デプロイメント記述子(web.xml)に登録します。

  • サーブレットのリクエストへの応答時には、サーブレットに関連するフィルタを適用する前にサーブレット・クラス・ファイルのタイム・スタンプがチェックされ、メモリー内にある既存のサーブレット・インスタンスと比較されます。バージョンの新しいサーブレット・クラスがある場合、すべてのサーブレット・クラスが再ロードされてからフィルタ処理が行われます。サーブレットが再ロードされると、そのサーブレットのinit()メソッドが呼び出されます。変更後のサーブレット・クラスが検出された場合、サーブレット・クラス間に依存関係が存在する可能性があるため、すべてのサーブレットが再ロードされます。

    サーブレット・リロード属性のタイム・スタンプがWebLogic Serverによってチェックされる間隔(秒単位)を設定できます。この属性は、管理コンソールのWebアプリケーションの「ファイル」タブで設定します。この属性をゼロに設定すると、WebLogic Serverによって、リクエストごとにタイム・スタンプがチェックされます。これはサーブレットの開発中やテスト中には便利ですが、本番環境では必要以上に時間が消費されます。この属性を-1に設定すると、変更されたサーブレットについてのチェックがWebLogic Serverで行われません。

JSPのベスト・プラクティス

JSPの再コンパイルを回避する方法の詳細は、不要なJSPコンパイルの回避(http://www.oracle.com/us/solutions/midsize/index-155241.html)、特にJSPの再コンパイルを発生させるシナリオに関する項を参照してください。

ServletResponseWrapperをサブクラス化する際のベスト・プラクティス

Java EEでは、javax.servlet.ServletResponseWrapperクラスが用意されています。このクラスはサーブレットでサブクラス化して、そのレスポンスに適合させることができます。

ServletResponseWrapperクラスをサブクラス化して独自のレスポンス・ラッパーを作成する場合、flushBuffer()メソッドとresetBuffer()メソッドを常にオーバーライドすることをお薦めします。そうしない場合、レスポンスが早まって行われる可能性があります。