JSP-暗黙のオブジェクト
この章では、JSPの暗黙オブジェクトについて説明します。これらのオブジェクトは、JSPコンテナが各ページで開発者に提供するJavaオブジェクトであり、開発者は明示的に宣言せずに直接呼び出すことができます。JSP暗黙オブジェクトは、pre-defined variables。
次の表に、JSPがサポートする9つの暗黙的なオブジェクトを示します。
S.No. | オブジェクトと説明 |
---|---|
1 | request これは HttpServletRequest リクエストに関連付けられたオブジェクト。 |
2 | response これは HttpServletResponse クライアントへの応答に関連付けられたオブジェクト。 |
3 | out これは PrintWriter クライアントに出力を送信するために使用されるオブジェクト。 |
4 | session これは HttpSession リクエストに関連付けられたオブジェクト。 |
5 | application これは ServletContext アプリケーションコンテキストに関連付けられたオブジェクト。 |
6 | config これは ServletConfig ページに関連付けられているオブジェクト。 |
7 | pageContext これにより、パフォーマンスの向上などのサーバー固有の機能の使用がカプセル化されます JspWriters。 |
8 | page これは単にの同義語です this、および変換されたサーブレットクラスによって定義されたメソッドを呼び出すために使用されます。 |
9 | Exception ザ・ Exception オブジェクトを使用すると、指定されたJSPから例外データにアクセスできます。 |
リクエストオブジェクト
リクエストオブジェクトは、 javax.servlet.http.HttpServletRequestオブジェクト。クライアントがページを要求するたびに、JSPエンジンはその要求を表す新しいオブジェクトを作成します。
リクエストオブジェクトは、フォームデータ、Cookie、HTTPメソッドなどを含むHTTPヘッダー情報を取得するためのメソッドを提供します。
リクエストオブジェクトに関連付けられたメソッドの完全なセットについては、次の章-JSP-クライアントリクエストで説明します。
応答オブジェクト
応答オブジェクトは、 javax.servlet.http.HttpServletResponseオブジェクト。サーバーが要求オブジェクトを作成するのと同じように、サーバーはクライアントへの応答を表すオブジェクトも作成します。
応答オブジェクトは、新しいHTTPヘッダーの作成を処理するインターフェースも定義します。このオブジェクトを介して、JSPプログラマーは新しいCookieまたは日付スタンプ、HTTPステータスコードなどを追加できます。
次の章-JSP-サーバー応答で、応答オブジェクトに関連付けられたメソッドの完全なセットについて説明します。
アウトオブジェクト
out暗黙オブジェクトはのインスタンスです javax.servlet.jsp.JspWriter オブジェクトであり、応答でコンテンツを送信するために使用されます。
最初のJspWriterオブジェクトは、ページがバッファリングされているかどうかに応じて異なる方法でインスタンス化されます。バッファリングは、を使用して簡単にオフにすることができますbuffered = 'false' ページディレクティブの属性。
JspWriterオブジェクトには、 java.io.PrintWriterクラス。ただし、JspWriterには、バッファリングを処理するように設計された追加のメソッドがいくつかあります。PrintWriterオブジェクトとは異なり、JspWriterはスローしますIOExceptions。
次の表に、作成に使用する重要なメソッドを示します。 boolean char, int, double, object, String、など。
S.No. | 方法と説明 |
---|---|
1 | out.print(dataType dt) データ型の値を出力します |
2 | out.println(dataType dt) データ型の値を出力してから、改行文字で行を終了します。 |
3 | out.flush() ストリームをフラッシュします。 |
セッションオブジェクト
セッションオブジェクトはのインスタンスです javax.servlet.http.HttpSession また、セッションオブジェクトがJavaサーブレットで動作するのとまったく同じように動作します。
セッションオブジェクトは、クライアント要求間のクライアントセッションを追跡するために使用されます。セッションオブジェクトの完全な使用法については、次の章-JSP-セッショントラッキングで説明します。
アプリケーションオブジェクト
アプリケーションオブジェクトは、 ServletContext 生成されたサーブレットのオブジェクトであり、実際には javax.servlet.ServletContext オブジェクト。
このオブジェクトは、ライフサイクル全体にわたるJSPページの表現です。このオブジェクトは、JSPページが初期化されるときに作成され、JSPページがによって削除されると削除されます。jspDestroy() 方法。
アプリケーションに属性を追加することにより、Webアプリケーションを構成するすべてのJSPファイルがその属性にアクセスできるようにすることができます。
JSPでのアプリケーションオブジェクトの使用を確認します-ヒットカウンターの章。
構成オブジェクト
構成オブジェクトはのインスタンス化です javax.servlet.ServletConfig との直接ラッパーです ServletConfig 生成されたサーブレットのオブジェクト。
このオブジェクトにより、JSPプログラマは、パスやファイルの場所などのサーブレットまたはJSPエンジンの初期化パラメータにアクセスできます。
以下 config メソッドはあなたが今までに使用するかもしれない唯一のものであり、その使用法は些細なものです-
config.getServletName();
これにより、サーブレット名が返されます。これは、サーブレットに含まれる文字列です。 <servlet-name> で定義された要素 WEB-INF\web.xml ファイル。
pageContextオブジェクト
pageContextオブジェクトは、 javax.servlet.jsp.PageContextオブジェクト。pageContextオブジェクトは、JSPページ全体を表すために使用されます。
このオブジェクトは、実装の詳細のほとんどを回避しながら、ページに関する情報にアクセスする手段として意図されています。
このオブジェクトは、各リクエストのリクエストオブジェクトとレスポンスオブジェクトへの参照を格納します。ザ・application, config, session、およびoutオブジェクトは、このオブジェクトの属性にアクセスすることによって派生します。
pageContextオブジェクトには、バッファリング情報、errorPageURL、ページスコープなど、JSPページに発行されたディレクティブに関する情報も含まれています。
PageContextクラスは、次のようないくつかのフィールドを定義します。 PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, そして APPLICATION_SCOPE、4つのスコープを識別します。また、40を超えるメソッドをサポートしており、その約半分はjavax.servlet.jsp.JspContext class。
重要な方法の1つは removeAttribute。このメソッドは、1つまたは2つの引数を受け入れます。例えば、pageContext.removeAttribute ("attrName") 次のコードはページスコープからのみ属性を削除しますが、すべてのスコープから属性を削除します-
pageContext.removeAttribute("attrName", PAGE_SCOPE);
pageContextの使用は、JSP-ファイルアップロードの章で確認できます。
ページオブジェクト
このオブジェクトは、ページのインスタンスへの実際の参照です。これは、JSPページ全体を表すオブジェクトと考えることができます。
ページオブジェクトは、実際にはの直接の同義語です。 this オブジェクト。
例外オブジェクト
例外オブジェクトは、前のページからスローされた例外を含むラッパーです。これは通常、エラー状態に対する適切な応答を生成するために使用されます。
このオブジェクトの完全な使用法については、JSP-例外処理の章で説明します。