2009-06-17 4 views
0

セッションのようなものですが、それはすべてのセッション間で共有のアプリケーションオブジェクト、...あなたは、与えられたアプリケーションのすべてのユーザー間で情報を共有するために、Applicationオブジェクトを使用することができますaspのアプリケーションオブジェクトに相当するものは何ですか? ASPで

http://msdn.microsoft.com/en-us/library/ms525360.aspx

があります。 ASPベースのアプリケーションは、仮想ディレクトリとそのサブディレクトリ内のすべての.aspファイルとして定義されています。 Applicationオブジェクトは複数のユーザーが共有できるため、複数のユーザーが同時にプロパティを変更しようとしないように、LockメソッドとUnlockメソッドがあります。私は小さなデータセットのための簡単なキャッシュを実装するためにこのオブジェクトを使用

...

のJava/JSPと同等とは何ですか?

おかげでたくさん...

答えて

1

ServletContextが含まれるApplicationObjectに似ています。 setAttributeメソッドを使用して、すべてのユーザーが共有する情報を追加できます。サーブレット内から、getServletContext()を呼び出してアクセスすることができます。私はそれがロック/ロック解除の機能を提供しているかどうかはわかりません。

Springまたは他のIoCコンテナを使用している場合は、すべてのユーザーからアクセス可能なBeanを簡単に定義できます。私は、これが両方の世界にとってより良い解決策だと思います。

+0

ありがとうございます!この回答を正しいとみなす前に試してみましょう... – opensas

0

私はこれをJSPで達成するための2つの方法を知っています。

  1. アプリケーションスコープでBeanを定義:

    < JSP:useBeanのID = "appCounter" クラス= "com.company.AppCounter" スコープは= "アプリケーション"/>

  2. 作成シングルトンクラス。 Example

+0

シングルトンはJEEコンテナでは避けてください。 – kgiannakakis

+0

私はシングルトンを避けるべきだとは思っていませんが、慎重に使用してください。明らかにここでのより良い選択は、サーブレット・コンテキストを使用することです。また、将来的にはそのような発言をするときに説明をしてください。 –

+0

http://code.google.com/p/google-singleton-detector/とhttp://www.artima.com/weblogs/viewpost.jsp?thread=213214をご覧ください。これは答えやコメントで説明するのが簡単ではありません。 – kgiannakakis

1

JSPのアプリケーションスコープはServletContextと同じです。

関連する問題