10

Glassfish サーバー (単純なショッピング カート) で最初の EJB を試しています。各 HTTP セッションに CartBean を使用するつもりでした。私のカートビーンがフォローしている場合-

public interface CartLocal {
 public void addItem(String item);
 public void removeItem(String item);
}

@Stateful
public class CartBean implements CartLocal {
 List<String> item = new java.util.ArrayList<String>();
 public void addItem(String item) {
  ....
 }
 public void removeItem(String item) {
  ....
 }
}

上記のステートフル セッション Bean を Web サーブレット クライアントで使用して、新しい HTTP セッションごとに新しいステートフル セッション Bean を取得する必要があります。そのため、1 人のユーザーに対して 1 つのショッピング カートが存在します。サーブレットでのセッション Bean の使用に関する私の理解が間違っているのか、それとも以下のコードが間違っているのでしょうか。これにより、すべてのユーザーに対して 1 つのステートフル セッション Bean が作成されます。

@EJB CartLocal cart;

protected void doGet(....) throws IOException...... {
 cart.addItem(....);
}
4

2 に答える 2