global.jsa ファイルを使用すると、1 つのアプリケーションまたはクライアント セッションからアクセスするすべての JSP ファイルに共通のアプリケーション ロジックについて、共有ファイルを作成できます。global.jsa ファイルにより、このコードを集中管理するための場所が提供されるので、その場所から多数の JSP で共有されるロジックを管理したり変更できます。
global.jsa ファイルは、JSP と同じディレクトリに格納する必要があります。
次のイベントにより、JRun がトリガされ、global.jsa ファイルが確認されます。
global.jsa ファイルを含むディレクトリ内の任意の JSP が最初に要求されると、JRun でファイルが読み込まれます。アプリケーション開始イベントを使用すると、同じアプリケーション内にあるすべての JSP で共有されている JSP application オブジェクトに情報を書き込めるようになります。
global.jsa ファイルを含むディレクトリ内の任意の JSP にアクセスする最初のクライアント要求が行われると、ファイルが読み込まれます。セッション開始イベントを使用すると、1 つのクライアントがアクセスするすべての JSP で共有される JSP session オブジェクトを初期化できます。1 つのアプリケーションに、JSP の複数のディレクトリを持たせることができます。
セッション開始イベントは、アプリケーションの JSP に対する最初のクライアント
要求でのみトリガされます。この要求によって、クライアントの session オブジェ
クトが作成されます。これ以降は、異なるディレクトリにある JSP に対する要求で
あったとしても、セッション開始イベントがトリガされることはありません。
たとえば、global.jsa ファイルを含むディレクトリにある /index.jsp への最初
のクライアント要求が行われると、セッション開始イベントがトリガされます。
ただし、同じ session オブジェクトとセッション ID を持つ同じクライアントが、
続けて別のディレクトリにある /store/checkout.jsp にアクセスした場合、この
ディレクトリに global.jsa ファイルが含まれていても、/store/global.jsa の
セッション開始イベントはトリガされません。
global.jsa ファイルの有無がチェックされます。ファイルが見つかった場合、そのファイルが読み込まれます。global.jsa ファイルの有無がチェックされます。ファイルが見つかった場合、そのファイルが読み込まれます。
JRun をトリガして、global.jsa ファイルをチェックするイベントにはそれぞれ、イベント トリガが検知されたときに実行される関連メソッドが用意されています。これらのメソッドを編集して、global.jsa ファイルにロジックを挿入できます。次の表はイベントと対応するメソッドの一覧です。
| イベント |
メソッド |
|---|---|
| アプリケーション開始 |
applicationInit() |
| セッション開始 |
sessionInit(HttpSession session) |
| アプリケーション終了 |
applicationDestroy() |
| セッション終了 |
sessionDestroy(HttpSession session) |
各メソッドでは、次の JSP オブジェクトにアクセスできます。
sessionInit と sessionDestroy では、session オブジェクトにアクセスできます。
applicationInit と applicationDestroy では、application オブジェクトにアクセスできます。
次の例では、global.jsa ファイルにある各メソッドの構文とメソッド定義の例を示します。
<%! public void sessionInit(HttpSession session) {
System.err.println("session init:" + session.getId());
session.setAttribute("IDString","Session ID:" + session.getId());
}%>
<%! public void sessionDestroy(HttpSession session) {
System.err.println("session destroy:" + session.getId());
}%>
<%! public void applicationInit() {
application.setAttribute("appName", "MyApp");
}%>
<%! public void applicationDestroy() {
System.out.println("Application terminated:" + (String)
application.getAttribute("appName"));
}%>
JRun による global.jsa ファイルに対するチェックを有効にするには、次の手順を実行します。
[サーバー名] > [Web アプリケーション] > [アプリケーション名] > [JavaServer Pages] プロパティを選択します。対応するフォームが JMC の右側に開きます。
このプロパティを有効にすると、JRun によって global.jsa ファイルの存在が
チェックされます。無効にした場合は、global.jsa ファイルのチェックは行われ
ません。JRun のインストール時は、このプロパティは無効になっています。
JSP でglobal.jsa ファイルが使用されていない場合、このチェックボックスをオフ
のままにしておくと、必要のない処理オーバヘッドを避けることができます。