サーブレット3つのスコープ:リクエスト、セッション、アプリケーション

Requestスコープ

要求がJSP時間に1つのアクションから転送されたときは、JSPアクションのクラス変数を使用したい場合は、我々は要求スコープ内の変数は、JSPを渡すために行動に配置する必要があります。だから、リクエストスコープでJSPに変数を取得することができます。

たとえば、次のように成功した着陸人事情報の後の成功のページに表示する必要があります。
Requestオブジェクトは、マップのコレクションに似ています。キーと値のペアにデータを入れると、データによるキー値を取得します。
request.setAttribute(キー、値); //データ要求スコープには、内部に配置されます。
request.getAttribute(キー); //内部requtest範囲からデータを取得します。
すべてのスコープは、上記の二つの方法があります。

スコープ機能を要求する:
同じ要求オブジェクトを使用したデータへのアクセスを保証しなければならないデータのサーブレットとサーブレットを置きます。要求オブジェクトが変更された後、そう、値が失敗するスコープを要求します。

セッションスコープ

session.setAttribute(キー、値); //セッションスコープにデータを置く
session.getAttribute(キー); //セッションスコープからデータを取得
session.removeAttibute(キー); //データは、セッションスコープの内側から削除されます。

アプリケーションスコープ:のServletContext

ServletContext概要:
1.ServletContxtは、web.xmlファイルをカプセル化することです。

2.プロジェクトでは、唯一のweb.xmlファイルです。

プロジェクトだけで3.ServletContextオブジェクト。

ServletContext範囲:
sc.setAttribute(キー、値);スコープに変数
sc.getAttribute(キー)内から取得変数スコープ
sc.removeAttribute(キー);スコープ内からオブジェクトを削除します。

3つのスコープの比較

要求、セッション、アプリケーション(のServletContext)
最小範囲Requestスコープ、最初の要求に対応します。
Sessionスコープの範囲は大きくする必要があります。セッションに対応します。限りブラウザとしてセッションとは関係ありません。
**最大範囲アプリケーションスコープ。アプリケーションに対応します。**限り、同じプロジェクトへのアクセスなど、その後、その位置は、アプリケーションオブジェクトがどのように多くのブラウザどんなに。

それらが破壊されたときにTomcatを開始し、Tomcatがシャットダウンしたときにプロジェクトに関連付けられているApplicationオブジェクト、彼が作成されていたであろう。

おすすめ

転載: blog.csdn.net/MacWx/article/details/92414302