Sto leggendo il libro dell'appress dedicato alle specifiche degli EJB 3.2.
Quello che non mi è chiaro è in cosa differiscono questi EJB rispetto ad un normale progetto realizzato con JSP + normali servlets.
Nel libro viene fatto un esempio di stateful session bean
Codice PHP:
package com.apress.ejb.chapter02;
import java.util.ArrayList;
import javax.ejb.Stateful;
@Stateful(name="ShoppingCart")
public class ShoppingCartBean implements ShoppingCart, ShoppingCartLocal {
public ShoppingCartBean() {
}
public ArrayList cartItems;
public void addWineItem(String wine) {
cartItems.add(wine);
}
public void removeWineItem(String wine) {
cartItems.remove(wine);
}
public void setCartItems(ArrayList cartItems) {
this.cartItems = cartItems;
}
public ArrayList getCartItems() {
return cartItems;
}
}
Essendo di tipo stateful si crea una persistenza dei dati tra un utilizzo e l'altro del bean, comportamento che fino ad oggi sono sempre riuscito a ricreare con HttpSession.
Quindi dov'è la principale differenza tra una normale servlet ed un componente definibile Session bean?
Il codice sopra indicato ricrea il comportamento dell'HttpSession in maniera automatizzata senza necessità di scrivere tutto il codice a mano?