- - PR -
JavaBeans
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-10-08 12:22
JavaBeansの属性のapplicationとsessionの違いがどうしてもわからず、四苦八苦しています。いくつかの参考書を読んだりしていますが、どれも、具体例に乏しく2つの違いについて、自分で具体例を作成したりしても同じ動きをしてしまい、具体例とともに理解できるようなサイトや、説明資料等を持っている方いらっしゃいませんでしょうか?また、どのようなときにこの2つの属性を使い分けるか等、教えていただけないでしょうか?
| ||||
|
投稿日時: 2003-10-08 12:53
セッション単位で保持したい情報ならsessionですし、 アプリケーション全体で共通に持ちたい情報ならapplicationですね。 例えば、ログインしているユーザーの個人情報ならsessionでしょうし、 DB等のシステムに関する情報ならapplicationですね。 もし環境が構築できるなら、 2クライアント以上を用意してテストしてみてください。 sessionとapplicationの違いが良くわかると思います。 [ メッセージ編集済み 編集者: taku 編集日時 2003-10-08 12:56 ] | ||||
|
投稿日時: 2003-10-08 13:03
JavaBeansの属性のapplicationとsessionなどは、オブジェクトのスコープ(生存期間)を設定するものです。簡単に言えば、
インスタンス化されたオブジェクトが applicationスコープはサーバーが起動している間、 sessionスコープは単一セッション内で 存在し続けることです。 | ||||
|
投稿日時: 2003-10-08 13:12
スコープの話題とは離れますが、
JavaBeansの属性に、スコープとか設定できるんでしょうか? 私の理解ではJavaBeansの属性ではなくて、アプリ側でjavaBeansを任意のスコープに登録するものと思っていました。 この理解って間違っています? ご教授ください。 | ||||
|
投稿日時: 2003-10-08 16:46
eijiさんのご認識の通り、スコープは JavaBeans がどこにセットされるかによって決まるもので、JavaBeans自体の性質ではありません。
同じ JavaBean でも application/request/session どこにでもセットできます。 [ メッセージ編集済み 編集者: インギ 編集日時 2003-10-08 16:46 ] | ||||
|
投稿日時: 2003-10-08 17:11
スコープは「参照できる範囲」であって、生存期間とは異なります。 アプリケーションスコープなら「アプリケーション全体」で同一の名前で一つのオブジェクト を参照でき、セッションスコープなら「セッション内」でそれが可能になるわけです。 セッションオブジェクトに格納されているオブジェクトは、セッションが破棄されても 他で参照されていれば存在し続けます。 | ||||
|
投稿日時: 2003-10-08 21:11
ご意見ありがとうございます。2つのクライアントですが、一つのPCでもできるはずなので、具体例に関してはもう一度トライしてみます。(DB等を使用しみます。)ただ、なんとなくですが、applicationとsessionの違いに関しては先が見えてきたような気がします。また、何かわからなくなたら投稿しようと思います。情報、ありがとうございます。m(^^)m
| ||||
1
