io farei così
codice:
class MyListener implements HttpSessionAttributeListener {
  public void attributeAdded(HttpSessionBindingEvent se) {
    // nuovo attributo
    if (se.getName().equals("evento da aspettare")) {
      // vedi tu
    }
  }
  public void attributeRemoved(HttpSessionBindingEvent se) {}
  public void attributeReplaced(HttpSessionBindingEvent se) {}
}
così per generare l'evento basta fare
codice:
session.setAttribute("evento da aspettare", "valore");