アプリ版:「スタンプのみでお礼する」機能のリリースについて

データの有効範囲のことです。Servletでは、requestスコープ、sessionスコープ、applicationスコープの3つのスコープがあります。HTTPセッション間でデータを共有したい場合はsessionスコープ、webアプリケーション間でデータを共有したい場合はapplicationスコープというようにデータの有効範囲によりスコープを使い分けます。

という説明がありますが

「sessionスコープ」と「applicationスコープ」

はどちらが広いのでしょうか?

A 回答 (3件)

んーと、まず3つではなく、4つです。


もう1つpageスコープというのがあります。
検索すると3つしか紹介してないページが結構ありますね。

広い順に説明すると
application
Webアプリケーションが起動している間有効
すべての処理で共有するデータを入れます。
カウンタの数値等

session
クライアントが接続状態である間有効
ユーザごとの共有データなど
一般的にログイン状態を作った場合に使います。

request
ページ遷移の間のみ有効、通常の処理で一番
使うかと思います。

page
ページの表示開始から終了までの間有効

ちょっとおおざっぱな説明ですが詳細は
APIドキュメントや参考URLで勉強してください

参考URL:http://mayaa.seasar.org/documentation/implicit_o …
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考になりました。

お礼日時:2006/03/13 20:06

applicationスコープは、アプリケーション内で共有されます。


なので、複数ユーザーから共有されます。
一般的に、アプリケーションの状態や設定ファイルの内容など、アプリケーション起動時に設定され、以後は変更されないような値を保持します。

sessionスコープは、ブラウザごとに一つです。
ウィンドウの新規作成から開いた場合は、JavaScriptでopenした場合は、sessionが共有されます。
プログラムファイルなどから、新しくブラウザを開いた場合は、同一PCからでも別セッションとなります。

どちらが広いか、という問題より
使い方に違いがあるので気をつけて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。
気をつけます。

お礼日時:2006/03/13 20:07

Applicationスコープの方が広いです。



簡単に言えば、sessionスコープにあるものはセション(HttpSession)で保持すれているということです。

この回答への補足

ありがとうございます
セッションではデータが消え
アプリではまだデータが保持されているとはどういう状況でしょうか?

補足日時:2006/03/12 19:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!