ServletContextに変数を格納することと、それをクラスのうちの1つのパブリックな静的なメンバとして持つことの違いは何ですか?代わりに、書き込みのサーブレットのコンテキストスコープとグローバル変数
:
だけ持っていないのはなぜ// simplified (!)
int counter = (Integer)getServletContext().getAttribute("counter");
counter++;
this.getServletContext().setAttribute("counter", counter);
:
// in class MyServlet
public static int counter = 0;
// in a method somewhere
MyServlet.counter++;
(同時実行の問題を無視し、これは単なるダム例ですしてください)
を私が言うことができるものから、これらの2つのオプションは、Tomcatの場合と同じように動作します。最初のオプションを使う方がいいですか?
特定の名前のに値を永続的に格納できるため、その次回のgetServletContext()の呼び出し、つまりgetInitParameters( "name")の呼び出しが更新されます。最後のプログラムによって行われた更新された価値を与えるでしょうか? –
Ars