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
ファイルが使用されていない場合、このチェックボックスをオフ
のままにしておくと、必要のない処理オーバヘッドを避けることができます。