9組み込みのオブジェクトやWEBアプリケーションのJSP 4つのドメインオブジェクト

JSP組み込みオブジェクトおよび範囲4〜9

9つのオブジェクト:

組み込みオブジェクト(また、隠されたオブジェクトとしても知られている、組み込みオブジェクト9がある):なし事前宣言が自由にスクリプトコードと式で使用することができない

1-OUT:

のjavax .servlet.jsp.JspWriterタイプ、出力ストリームを表すオブジェクト。ページ(ページ実装期間)の範囲

要求:javax.servlet.ServletRequestのサブタイプは、このオブジェクトは、WEBブラウザや他のクライアントHTTPによって生成されたカプセル化

要求の詳細(パラメータ、属性、およびデータヘッダ)。要求のスコープ(ユーザの要求)。
方法でAPIを参照してください

応答:のjavax.servlet.ServletResponseサブタイプに、このオブジェクトは、ページに出力を返すために、HTTPクライアントをカプセル化する

のモード設定レスポンスヘッダとステータスコードを提供しています。多くの場合、HTTPヘッダーを設定するために使用され、クッキーを加え、などのコンテンツの種類に応じて設定

状態、およびHTTPリダイレクトエンコードされたURLを送信します。ページ(ページ実装期間)のスコープ。


pageContext:javax.servlet.jsp.PageContextのページ(ページ実施期間)について(抽象)タイプ、スコープ。このオブジェクトは

クエリと属性を変更する機能のすべての4つのレベルの範囲を提供し、それはまた、他のリソースと他のリソースへの転送要求を提供します


オブジェクトのメソッドは、抽象的で

セッション:javax.servlet.http.HttpSessionタイプ主に会話を追跡するために使用されます。スコーピングセッション(セッション期間- )。

HttpSessionのが単一のオブジェクトに関連付けられているが、それはHTTPリクエストの間に存在する、WEBブラウザセッションハッシュテーブルと同様であり、任意の格納されてもよい

という名前のオブジェクトの任意のタイプを。
追跡要求の間にはセッションオブジェクトは、セッションがページディレクティブを指定することはできない場合は=「false」を
覚えることは、オブジェクトがpageContextのsession.getAttribute()、にsession.setAttribute()とすることができるということですが、同じようにも取り

持っており、セッションのプロパティを設定します。

アプリケーション:のjavax.servlet.ServletContextタイプ、サーブレット環境のgetServletConfigの呼び出すことによって

().getContextを()得る方法を。スコープは、アプリケーション(プログラム全体の実行)です。これは、上のアプリケーションのサーババージョン提供

絶対パス内ウェイレベルの初期化パラメータとアプリケーションリソース、登録情報の


設定を:javax.servlet.ServletConfig、ページ(ページ実装期間)のスコープ

例外:たjava.lang.Throwable、JSPエラー介してcatchブロックのページには利点なし捕捉された

、java.lang.Throwableの例の任意のURI errorPageではのパス。ページ(ページ実装期間)のスコープ。

例外は唯一のpageディレクティブのisErrorPage =「true」をアクティブの属性を持っています。

ページ:java.lang.Objectのタイプは、ページ自体への道を指し示します。ページ(ページの実行にスコープ



組み込みオブジェクト、次のようにJSP 9:
REQUEST要求オブジェクトタイプのスコープは、リクエストjavax.servlet.ServletRequest
レスポンスレスポンスオブジェクト型のjavax.servlet.SrvletResponse Scopeページ
のpageContextページコンテキストオブジェクトタイプのjavax.servlet.jsp.PageContextのスコープページ
セッションのセッションオブジェクト型javax.servlet.http.HttpSessionをセッションのスコープ
アプリケーションアプリケーションオブジェクトタイプのjavax.servlet.ServletContextスコープアプリケーション
OUT出力オブジェクトタイプするjavax.servlet.jsp.JspWriterスコープページ
config設定オブジェクトタイプjavax.servlet.ServletConfigスコープページ
ページページオブジェクトタイプjavax.lang。オブジェクトのスコープページ
例外例外オブジェクトタイプjavax.lang.Throwableスコープページ

Requestオブジェクトは、例えば、我々は、フォームのFORMおよびその他の情報を記入し、あるクライアントからの要求を表す最も一般的に使用されるオブジェクトである

一般的な方法を使用は、次のとおりです。呼び出すことにより、getParameterで、getParameterNamesメソッドとgetParameterValuesオブジェクトに含まれるリクエストパラメータでこれらの値を得るための方法。

これは、クライアントがレスポンスオブジェクトを介して送信されたデータを整理することができ、クライアントに対する応答オブジェクトを表します。しかし、比較的低い組織に、あなたがクライアントにテキストを送信する必要があり、直接の場合には、一般的な読者を使用することは推奨されていない

オブジェクトはオブジェクトリテラルのpageContext「ページコンテキスト」と呼ばれることができ、実行するために、現在のページのいくつかの特性を表し

、一般的に使用される方法をされています。 findAttribute、のgetAttribute、getAttributesScopeとgetAttributeNamesInScope
使用される一般的なpageContextオブジェクトは、より複雑な状況に直面してプロジェクトの場合には、多くはなかった、処理を支援するためにページのプロパティを使用します。

あなたは、このようなので、上のオンラインショッピング、顧客の追跡として、異なるJSPページを使用して顧客情報を保持したい場合にはセッションオブジェクトは、セッションを確立するために、サーバーとクライアントを表します。「セッション」オブジェクトがクッキーに基づいて作成され、それは、クライアントが開いクッキーが何であるかを決定するために注意を払う必要があります。一般的な方法はのgetId、のgetValue、getValueNames putValueメソッドなどが挙げられます。

概要
HTTPはステートレス(ステートレス)プロトコルです。
各クライアントのWebサーバーは、過去のメモリ要求ではありません。
クライアントの状態情報を保存するためのセッション、
Webサーバーによって書かれ、
クライアントに保存され、
Webサーバに渡さ訪問あたりのクライアントを考えて、最後のレコーディングセッション。
Webサーバーは、クライアントの状態情報を取得するためにクライアントから提出されたセッション読み込む

アプリケーションオブジェクトが一般的に用いられている方法は、そうでのgetMimeType getRealPathあるとするとき、サーバー上で実行されているいくつかのグローバルな情報アプリケーションを提供する責任があります。

オブジェクトがクライアントにデータを送信するためのオブジェクトを表しから、「レスポンス」オブジェクトとは異なり、「アウト」オブジェクトを介して送信されたコンテンツは、ブラウザの内容を表示する必要があります、テキストレベルは、直接に「アウト」オブジェクトにすることができますクライアントは、プログラムの動的HTMLで生成されたファイルを書き込みます。バッファが動作のいくつかの方法が必要に加えて、一般的に、方法、およびのprintln pirnt、バッファを含む「外」オブジェクト内部のでさらに、クリア、clearBuffer、フラッシュ、getBufferSizeとgetRemainingを含むを使用する

「設定」オブジェクトいくつかの構成情報、および一般的な方法は、サーブレットの初期化パラメータを取得するために、getInitParameterNames getInitParameterあります。

「ページ」オブジェクトは、実行中のJSPファイルによって生成されたオブジェクトのクラスが使用する一般的な読者にはお勧めしません表します。

「例外」は、対象オブジェクトは、このオブジェクトはなく、唯一の「<%@ページのisErrorPage =」を使用することで、一般的なJSPファイルに直接使用することはできませんランタイムを生成したJSPファイルの例外で表し、真の「%>」 JSPファイル使用して





4つのスコープを:

スコープとは何か
私たちは結果を見てみましょう:


プロセスについて我々はpageContextの、リクエスト、セッションのためにそれぞれのindex.jsp 04-01 /を訪問したときに、ということである

変数の適用範囲は、4つを蓄積します。(変数が存在しない場合はもちろん、この変数が存在しないと判断され、必要があります

変数を1に初期化される)のindex.jspのなtest.jspに前方にジャンプし実行が完了した後に計算されます。そして、かつてなtest.jspに

蓄積し、その後、これらの4つの整数を表示します。

示された結果から、我々は直感的に締結することができます:

ページなtest.jspへのindex.jspから渡されていない変数に。ジャンプページ限り、彼らは姿を消しました。

前方の前と後の2間の変数で要求。しかし限り、ページを更新して、彼らが再計算されます。

セッションおよびアプリケーション変数が内に蓄積して開始されており、まだ、限り、あなたは、ブラウザを閉じると、違いが表示されていないアクセスするために、もう一度、ブラウザを再起動して

このページを再計算でセッション変数。

Tomcatを再起動しない限り、アプリケーションは、変数に蓄積されているそれ以外の場合は、大きい方だったでしょう。

有効期限は、変数のスコープで指定されています。

それはその範囲を示しているのpageContextへの変数がページのみ現在のJSPページのその有効範囲である場合。

pageContextに変数を開始し、JSPページの最後に、あなたはこの変数を使用することができます。

変数はリクエストに置かれた場合、スコープは、それが現在の期間が有効な範囲で要求し、その要求を説明することです。

いわゆるリクエストサイクルは、サーバ処理の最後に、HTTP要求から開始することを意味し、プロセス全体の応答を返します。このプロセスで作るかもしれません

あなたはこの変数を使用することができますこれらのページでは、JSPページの数を前方にジャンプする方法。

それはその範囲を示しているセッションに変数は、セッション、現在のセッションのその有効範囲である場合。

ユーザーに最初からブラウザを開くようにユーザーを意味し、いわゆる現在のセッションでは、このプロセスの途中でブラウザを閉じました。このプロセスは、複数含んでいてもよい

要求応答を。言い換えれば、限り、ユーザーはブラウザ、サーバと同じように、要求を開始した人知っている方法は、全体のプロセスをされている

すべての現在のセッションでは、セッション(セッション)と呼ばれ、セッション変数に配置されたあなたがすることができます使用中の要求。

アプリケーションに変数は、スコープは、そのアプリケーションを説明する場合、その有効範囲はアプリケーション全体です。

アプリケーションからアプリケーション全体をエンド・アプリケーションに、開始されることを意味します。私たちは、サービスのため、「サーバーからの起動、サーバーがシャットダウンする」と言っていなかった

複数のアプリケーションを配備することがあり、もちろん、あなたがサーバーをシャットダウンし、それは、上記のすべてのアプリケーションが閉じて入れます。

アプリケーション内のスコープの変数は、彼らの生存時間は、手動で削除されていない場合、彼らが使用することができた、最長です。

違いは、ユーザーに上記3、アプリケーション変数がすべてに共通であってもよいということです。修飾されたアプリケーションの場合には、ユーザAの操作

変数修正値がアクセスされたときに、ユーザBが得られます。これは、他の範囲で起こるだろうページ、リクエスト、されていない

他の人のデータには影響しませんどのような場合に変更、セッションは完全に隔離されています。

私たちは、変数の値を取得、公開オブジェクトのgetAttribute(文字列名)を使用します。public void setAttributeメソッドを使用します

変数値に対応する(文字列名、オブジェクトの値)がスコープに格納されています。例えばのpageContextがある:

//ページ
整数countPage =(整数)pageContext.getAttribute( "countPage");
IF(countPage == NULL){
    pageContext.setAttribute( "countPage" ,. 1);
} {他
    pageContext.setAttribute (「countPage」、countPage + 1);
}
本明細書で命名整数のpageContextがjava.lang.Objectのタイプが返されるので、それは強くする必要があり、除去開始countPage

我々は必要整形系に変換されます。ここで、変数は区別する== countPageによって決まる、ヌルをnullを返すであろう存在しない作られ

、それが蓄積さがある場合、1に設定されている存在しない場合、他の変数が存在し、変性の最後に使用のsetAttribute()メソッド

変数pageContextの中の値。

前記のpageContext要求、セッションに、アプリケーションは、範囲内の他の三つの変数を操作することができます

ます。https://www.cnblogs.com/qiangumingyue2009/p/3266336.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34281477/article/details/93544603