skillup

技術ブログ

Java

サーブレットのスコープ

投稿日:

JavaEEではスコープアノテーションによって変数のスコープを使い分けられたのですが、サーブレットの場合はプログラムの中で使い分けます。

通常はページ、リクエストとセッション、アプリケーションぐらいでしょうか。ちょっとスコープについて整理しておきましょう。

スコープの範囲

ページ

そのページ単体だけで使われるスコープ。ほかのページとの共有の必要がない場合のみ使われる。最もスコープが狭い。

<c:set>タグなどで設定できる

リクエスト

現在のページと現在のページからフォワード、インクルードされる中で有効。

リダイレクトされると消える。

セッション

セッションの範囲内でBeansを保持する。ユーザーが現在のアプリケーションを保持する間中有効。

わかりやすい例としては買い物かごなど。

アプリケーション

現在のアプリケーションでアクセスしている全ユーザーが共有できる最も広範囲のスコープ

スコープへの変数の格納方法

ページはjsp内のみで有効です。まだ使ったことないんですが(汗)

リクエスト、セッション、アプリケーションについては下記のようにセットしたり、取り出したりします。

残念ながらJSFでよく使うFlashはないようです。便利だったのになぁ・・・

参考リンク

http://www.javaroad.jp/servletjsp/sj_jsp8.htm

http://www.javaroad.jp/servletjsp/sj_servlet4.htm

また上記のスコープの記述に関しては

独習Javaサーバサイド第2版を参考にしました。

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

正規表現(判定:置換:抽出)

Javaの正規表現を利用した置換、抽出について書きます。 Contents1 正規表現の基本ルール2 Javaでの正規表現の処理の流れ3 実処理3.1 判定3.2 抽出3.3 置換 正規表現の基本ルー …

no image

JPAでの算術関数の型&mavenコンパイルプラグイン

本日も小ネタなので2つ同時に扱います。 Contents1 JPAの算術関数2 mavenのコンパイル JPAの算術関数 JPAでは以前、MySQLなどと同じように算術関数を使えると書きました。 参考 …

no image

日付けのメソッド その2

以前、時刻を扱うエントリーではCalendarクラスとDateクラスを使いましたが、Java8で標準になったTimeAPIについて調べてみます。 Contents1 現在時刻の出力2 任意時間の出力3 …

no image

Listの簡便な書き方

Listに要素を加えるときに、スタンダードな書き方は

になりますが、もっとほかにもいろいろな書きがあります。 特にオブジェクトの追加の …

no image

CSVの入出力に関して

業務でCSVの入出力と格闘中。 まあよくある頻出の作業だったりするんですが、自前でやるとなかなか面倒です。 面倒なポイントとしては クオートのエスケープ カンマのエスケープ ヘッダーとの結合 ですかね …

アーカイブ