Hallo, mir stellt sich die selbe Frage.
Das Problem von dem Scope, wie ich finde davon abhängig, ob man in dem System angemeldet ist:
Man geht z.b auf amazon.
Man ist nicht angemeldet/nicht eingelogt:
1. Artikel ist Warenkorb
2. Im neuen Tab und dem selben Browser-Fenster==>Man sieht den eben bestellten Artikel.
3. Im neuen Fenster des selben Browsers sieht man eben bestellten Artikel.
4. Im anderen Browser sieht man den eben bestellten Artikel nicht.
Welche Rückschlüsse kann man draus ziehen?
Meiner meinen nach, wenn man nach dem MVC geht dann haben wir:
Auf der View: @SessionScoped + @Named
Im Controller:
@stateful //Annahme: der Warenkorb-Inhalt wird nicht persistiert
Im Model: gewöhnliche Entity....
Man ist angemeldet:
1. Artikel in den Warenkorb
2. Im neuen Tab des selben Browser-Fensters sieht man, dass man eingelogt ist und den eben bestellten Artikel.
3. Man öffnet neues Fenster vom selben Browser und sieht wieder, dass man eingelogt ist, und den bestellten Artikel.
4. Man logt sich im neuen Fenster eines anderen Browsers ein und man den selben Warenkorb wie in 1;2;3.
Welche Rückschlüsse kann man draus ziehen?
Wenn ich mich anmelde, wird der Warenkorbinhalt persistiert, denn bei dem Punkt 4 im "nicht eingelogten"-Zustand sieht man den Warenkorbinhalt von anderen Browsern nicht.
Nach dem MVC würde ich das genauso machen.
Nur beim Controller würde ich eben die Artikeln speichern lassen, wenn ich angemeldet bin.
Was meint ihr dazu?