0

Android には、アプリケーション全体でクラスのインスタンスを 1 つだけ使用できるようにするメカニズムがあります。これは、そのクラスを Application から派生させることで実行できます。

サーブレットで同様のことを行うことはできますか? アプリケーションのデプロイ時にクラスを初期化したい。このクラスはインスタンスを 1 つだけ持つ必要があります。すべてのサーブレットがアクセスできるようにします。
サーブレット コンテキストのハッシュマップにデータを格納できることがわかりました。しかし、私はそれをしたくありません。関数を使用して独自のクラスを作成したいと考えています。これはどのように行うべきですか?

4

3 に答える 3

4

したがって、独自の関数または好きなものを使用して、必要なクラスを作成し、それServletContextを起動時に配置します。を使用しServletContextListenerて初期化および削除できます。それについて何が制限されていますか?

于 2012-06-14T14:59:33.767 に答える
4

あなたが求めているのは単にsingletonだと思います。

これは、単一のインスタンスで列挙型を定義することによって最適に実装されます。(列挙型を使用すると、クラスと同じようにメンバー関数を使用できることに注意してください。)

public enum YourSingleton {

    INSTANCE;

    // Your methods...

}

そして、次のようにアクセスします

YourSingleton.INSTANCE
于 2012-06-14T14:58:53.570 に答える
1

singleton patternインスタンス メソッド (たとえば ) への最初の呼び出しでインスタンスYourClass.getInstance()が作成され、アプリケーション全体で再利用されるように使用します。

于 2012-06-14T15:01:01.783 に答える