jsp の 4 つの主要なスコープとは何ですか?

(*-*)浩
リリース: 2022-05-27 14:46:24
オリジナル
27991 人が閲覧しました

まず最初に、いわゆる「スコープ」とは「情報共有の範囲」、つまり情報が有効な範囲であることを宣言しなければなりません。 4 つの JSP 組み込みオブジェクトのスコープは、アプリケーション、セッション、リクエスト、ページです。

推奨コース: Java チュートリアル

jsp の 4 つの主要なスコープとは何ですか?

jsp の 4 つの主なスコープは次のとおりです:

1、application function Domain

アプリケーションに変数を置く場合、そのスコープはアプリケーションであり、その有効スコープはアプリケーション全体であることを意味します。アプリケーション全体とは、アプリケーションの開始からアプリケーションの終了までを指します。サーバーには複数のアプリケーションがデプロイされている可能性があるため、「サーバーの起動からサーバーのシャットダウンまで」とは言いませんが、当然のことながら、サーバーをシャットダウンすると、サーバー上のすべてのアプリケーションがシャットダウンされます。アプリケーション スコープ内の変数は生存期間が最も長く、手動で削除しない限り常に使用できます。

Object getAttribute(String name) //アプリケーションから情報を取得;

void setAttribute(String name, Object value) //アプリケーションスコープに情報を設定します。

2. セッション スコープ

セッションに変数を置く場合、そのスコープはセッションであり、その有効スコープは現在のセッションであることを意味します。いわゆる現在のセッションとは、ユーザーがブラウザを開いてからブラウザを閉じるまでのプロセスを指します。

Object HttpSession.getAttribute(String name) //セッションから情報を取得します。

void HttpSession.setAttribute(String name,Object value) //情報をセッションに保存します。

HttpSessionHttpServletRequest.getSessio() //現在のリクエストが存在するセッション オブジェクトを取得します。

session セッションは、ブラウザが最初の HTTP リクエストを行ったときに開始されたとみなされます。ただし、ブラウザを閉じるとサーバーに通知されないため終了の判断が難しく、一定時間クライアントが応答しなかった場合はセッション終了と判断する方法でしか判断できません。終わること。 Tomcat のデフォルト値は 120 分ですが、この値は HttpSession の setMaxInactiveInterval() メソッドを通じて設定することもできます。

void setMaxInactiveInterval(int interval)

セッションをアクティブに終了したい場合は、たとえば、ユーザーの「ログアウト」ボタンをクリックすると、HttpSession の validate() メソッドを使用して現在のセッションを強制的に終了できます。 void validate()

セッションが削除される時刻は次のとおりです。 :

1) セッション タイムアウト: タイムアウトとは、サーバーがセッションに対応するクライアントからのリクエストを一定期間受信しないことを指し、この時間がサーバーによって設定された最大セッション タイムアウトを超えます。サーバ。

2) プログラムは HttpSession.invalidate() を呼び出します。

3) サーバーがシャットダウンまたはサービスが停止します

注:

1) *.html の静的ファイルにアクセスする リソースはサーブレットにコンパイルされないため、セッションの問題は関係ありません。

2) JSP ページが明示的にセッションを禁止していない場合、サーバーはブラウザを開いて初めて JSP をリクエストするときに自動的にセッションを作成し、それに送信されるセッション ID を与えます。クライアントの端末ブラウザに送信します。

3) セッションはメモリ リソースを消費するため、セッションを使用する予定がない場合は、すべての JSP でセッションを閉じてください。

4) セッションはブラウザを閉じても削除されず、上記の 3 つの方法でのみ削除できます。

セッションはどこに保存されますか? -----------サーバー側のメモリ内。

3. リクエストのスコープ

リクエスト内の変数は、前方と後方の 2 ページにまたがることができます。ただし、ページが更新されるたびに再計算されます。

リクエスト転送: servlet.getRequestDispatcher("new.jsp").forward(req,resp);

注:

1. 転送はサーバーの動作であり、再ターゲティングはクライアントの行動です。

2. サーバー上でどのように転送されたとしても、元のサーブレットのアドレスはブラウザのアドレス バーに表示されます。

4. ページ スコープ

ページ オブジェクトのスコープは、ユーザーがリクエストした現在のページに制限されます

リクエストとリクエストのライフ サイクルページは有効期間が短いです。 両者の違い: リクエストには複数のページ (インクルード、転送、フィルター) を含めることができます。

以上がjsp の 4 つの主要なスコープとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
jsp
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!