English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSP 隠蔽オブジェクト

JSPのインラインオブジェクトは、JSPコンテナが各ページに提供するJavaオブジェクトで、開発者はそれらを使用することができます。インラインオブジェクトは、プレ定義された変数とも呼ばれます。

JSPがサポートする九大のインラインオブジェクト:

オブジェクト説明
requestHttpServletRequest インターフェースの例
responseHttpServletResponse インターフェースの例
outJspWriterクラスの例で、結果をウェブページに输出するために使用されます
sessionHttpSessionクラスの例
applicationServletContextクラスの例で、アプリケーションコンテキストに関連しています
configServletConfigクラスの例
pageContextPageContextクラスの例で、JSPページのすべてのオブジェクトおよびネームスペースへのアクセスを提供します
page Javaクラスの中のthisキーワードに似ています
ExceptionExceptionクラスのオブジェクトは、エラーが発生したJSPページに対応する例外オブジェクトを表します

requestオブジェクト

requestオブジェクトはjavax.servlet.http.HttpServletRequestクラスの例で、クライアントがJSPページをリクエストするとき、JSPエンジンはそのリクエストを代表する新しいrequestオブジェクトを作成します。

requestオブジェクトはHTTPヘッダー情報、cookies、HTTPメソッドなどの一連のメソッドを提供します。

responseオブジェクト

responseオブジェクトはjavax.servlet.http.HttpServletResponseクラスの例で、サーバーがrequestオブジェクトを作成するとき、同時にこのクライアントに対するresponseオブジェクトも作成されます。

responseオブジェクトもHTTPヘッダーモジュールのインターフェースを定義しています。このオブジェクトを通じて、開発者は新しいcookies、タイムスタンプ、HTTPステータスコードなどを追加できます。

outオブジェクト

outオブジェクトは、javax.servlet.jsp.JspWriterクラスの例で、responseオブジェクトに内容を書き込むために使用されます。

最初のJspWriterクラスのオブジェクトは、ページにキャッシュがあるかどうかによって異なる例示化操作を行います。page指令でbuffered='false'属性を使用してキャッシュを簡単にオフにできます。

JspWriterクラスは、java.io.PrintWriterクラスのほとんどのメソッドを含んでいます。ただし、JspWriterクラスはキャッシュ処理に特化したメソッドも追加しています。また、JspWriterクラスはIOExceptions例外をスローしますが、PrintWriterはしません。

以下の表は、boolean、char、int、double、String、objectなどのデータタイプを出力するために使用される重要なメソッドを示しています:

メソッド説明
out.print(dataType dt); Typeタイプの値を出力
out.println(dataType dt); Typeタイプの値を出力して改行
out.flush(); 出力ストリームをリフレッシュ

sessionオブジェクト

sessionオブジェクトは、javax.servlet.http.HttpSessionクラスの例で、Java Servletsのsessionオブジェクトと同じ動作をします。

sessionオブジェクトは、さまざまなクライアントリクエスト間のセッションを追跡するために使用されます。

applicationオブジェクト

applicationオブジェクトは、servletのServletContextクラスのオブジェクトを直接包装しており、javax.servlet.ServletContextクラスの例です。

このオブジェクトは、JSPページの全体のライフサイクルを通してそのJSPページを表します。このオブジェクトは、JSPページの初期化時に作成され、jspDestroy()メソッドの呼び出しに伴って削除されます。

applicationに属性を追加することで、あなたのwebアプリケーションを構成するすべてのJSPファイルがこれらの属性にアクセスできます。

configオブジェクト

configオブジェクトは、javax.servlet.ServletConfigクラスの例で、直接servletのServletConfigクラスのオブジェクトを包装しています。

このオブジェクトは、開発者がServletまたはJSPエンジンの初期化パラメータ(例えば、ファイルパスなど)にアクセスできるようにします。

以下はconfigオブジェクトの使用方法ですが、重要ではありませんので、あまり使用されません:

config.getServletName();

それが<servlet-name>要素内のservletの名前、注意して、<servlet-name>要素はWEB-INF/web.xmlファイルで定義されています。

pageContextオブジェクト

pageContextオブジェクトは、javax.servlet.jsp.PageContextクラスの例で、全体のJSPページを表します。

このオブジェクトは、ページ情報にアクセスし、ほとんどの実装の詳細をフィルタリングするために使用されます。

このオブジェクトは request オブジェクトと response オブジェクトの参照を保存しています。application オブジェクト、config オブジェクト、session オブジェクト、out オブジェクトは、このオブジェクトの属性を通じてエクスポートできます。

pageContext オブジェクトは JSP ページに渡されるコマンド情報、キャッシュ情報、ErrorPage URL、ページscopeなどを含んでいます。

PageContext クラスは PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE などのフィールドを定義しています。それも提供しています40余種の方法があり、その半分は javax.servlet.jsp.JspContext クラスから継承されています。

重要なメソッドの1つは removeAttribute() です。これは1つまたは2つの引数を受け入れます。例えば、pageContext.removeAttribute("attrName") は4つのscopeに関連する属性を削除しますが、以下の方法は特定のscopeに関連する属性のみを削除します:

pageContext.removeAttribute("attrName", PAGE_SCOPE);

page オブジェクト

このオブジェクトはページサンプルの参照です。それは、全体のJSPページを代表することができます。

page オブジェクトは this オブジェクトの同義語です。

exception オブジェクト

exception オブジェクトは、前のページから投げられた例外情報をパッケージ化しています。通常、エラーコンディションに対する適切な応答を生成するために使用されます。