JSF: Beans in Session oder Request?

Status
Nicht offen für weitere Antworten.

Fats

Bekanntes Mitglied
Hallo zusammen!

Wenn ich in der faces-config meine managed-beans definiere, bindet man die besser an die Session oder an den request? Meine mich dunkel zu erinnern, irgendwo gelesen zu haben, daß man besser so wenig wie möglich an die Session binden solle ... ist die Erinnerung da richtig?

Wenn ja, warum oder warum nicht?

Viele Grüße
Fats
 

HLX

Top Contributor
Das hängt grundsätzlich davon ab, wofür du die Bean verwendest. Möchtest du, dass eine Bean-Instanz nach einem Aufruf definitiv nicht mehr zur Verfügung stehen soll, dann ist der Scope auf Request zu setzen. Falls du einen Anwendungszustand über mehrere Requests hinweg benötigst, ist der Scope auf Session zu setzen. Sinnvolle Beispiele hierfür sind ein Warenkorb bei einem Onlineshop oder ein Editierfenster, dass beim nächsten Aufruf den gleichen Zustand haben soll, wie beim letzten Aufruf.
 

Fats

Bekanntes Mitglied
Das wäre jetzt auch so mein erster Gedanke dazu gewesen. Je nach dem was man braucht, den einen oder anderen Scope zu nehmen. Aber ich hatte die Info, so gut wie nichts / so wenig wie möglich in die Session zu hängen, auch ganz pauschal gelesen / gehört. Da wurde meiner Erinnerung nach überhaupt nicht differenziert. Daher dachte ich, es gibt einen sinnvollen allgemeinen Grund dies zu tun.

Viele Grüße
Fats
 

HLX

Top Contributor
Nein, es gibt keinen allgemeinen Grund. Man sollte lediglich nicht dazu neigen den Session Scope aus Bequemlichkeit zu verwenden. Er sollte nur dort verwendet werden wo er Sinn macht. Daten die im Session Scope gehalten werden sind, liegen halt während der gesamten Sitzung im Speicher. Die Sitzung läuft u.U. ein Weilchen: Der Time-Out vom Tomcat liegt per Default bei 15 oder 20 Minuten. Wenn in dieser Zeit 100.000 Benutzer die Anwendung verwenden, liegen auch entsprechend Beans im Speicher.

Die Verweildauer der Session-Daten auf dem Server stellt natürlich auch ein gewisses Sicherheitsrisiko dar. Der Server ist schließlich angreifbar. Ein Grund warum Banken ihre Kunden immer darum bitten sich nach dem Internet Banking brav abzumelden - damit die Session-Daten schnell entfernt werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G URL-Mapping mit Stateless Beans Web Tier 3
J Nach SVN-Update alle Beans resolved to null Web Tier 3
R JSF Beans werden nicht ausgeführt Web Tier 4
T JSF Variable zwischen 2 Beans austauschen? Web Tier 3
J JSF Java Beans Konventionen Web Tier 2
G JSF Beans und Entity verwenden Web Tier 2
S JSF Best practices - Managed beans Web Tier 9
J jsp Beans benutzen Web Tier 7
F Frage zu Java Beans Web Tier 17
D Kommunikation zwischen JSF Managed Beans Web Tier 11
R Wie Backing Beans richtig einsetzen? Web Tier 3
H problem bei Parameterübergabe mit beans Web Tier 3
I Gleiche Session von EJB Container in JSF Container verwenden? Web Tier 21
R Session löschen Web Tier 3
J Session ist nach Klick auf Zurück-Button wieder aktiv Web Tier 3
jann Servlet Bei jedem Request wird eine neue Session erstellt. Web Tier 6
J Session Servlet - JavaScript Web Tier 6
M Session closed - und nun? Web Tier 1
F JSF synchronized(session) Frage ? Web Tier 1
F JSF p:selectOneMenu Session Web Tier 10
T JSF Problem wenn Session abgelaufen ist Web Tier 6
Q JSF bei Session-Timeout Weiterleitung auf spezielle Login-Seite Web Tier 15
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
R Servlet Resource laden für SMTP - Session Web Tier 4
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
R JSF Session Handling Web Tier 3
X JSP Auslesen der Daten einer Session Web Tier 3
X Managed Bean Scope zwischen Request und Session gesucht Web Tier 6
crashfinger JSP Session verloren bei DNS Servernamen & IE Web Tier 6
C session trackung auf einfacher web-site Web Tier 17
F JSF Session-Kolision Web Tier 3
R Zugriff auf Session direkt auf JSF-Seite Web Tier 2
H JSF Session Initialisierung Web Tier 2
E JSP Browser Tab Session Web Tier 7
F Session Tutorial Web Tier 5
T JSP Session Login - Sicherheit Web Tier 4
J Loginbereich mit Session und Datenbank Web Tier 5
M 2 Cookies in der session (cocoon 2.2) Web Tier 4
F Richtiges Session Management mit Servlets Web Tier 4
P JSP: Liste in Bean über Session aufbauen Web Tier 6
7 Struts+AJAX- Session-Handling? Web Tier 2
B JSF session bean mit worker thread updaten Web Tier 7
J Crash bei session timeout Web Tier 3
M session Speicherort - ID ändern Web Tier 8
V ANFÄNGER : eigene Session Web Tier 3
V DatenbankConnection an Session hängen Web Tier 4
P session.removeAttribute Web Tier 3
K Orientierungslosigkeit: Webservice+Ajax(echo2)+Session-Management Web Tier 4
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
D JSF: Best Practice "Session invalidate nach Schließen des Browsers"? Web Tier 3
T Unbegrenzte Session Web Tier 14
D tapestry 5 session Web Tier 2
J Struts 2 session ID auslesen? Web Tier 5
M [J2EE] Session-Save Static-Objects? Web Tier 6
S Problem mit Session - Übergabe von Kontext zu Kontext Web Tier 2
H JSF - Bean (scope session) - Verfallsdatum? Web Tier 3
T Problem bei Session-Timeout Web Tier 3
M JSF refresh vs. session scope Web Tier 9
G Session in Servlet Starten und mit JSTL auslesen Web Tier 2
G Servlet - Von Parametern umstellen auf Session Web Tier 8
G jsf session erstellen Web Tier 10
rambozola session attribut in servlets und jsps Web Tier 11
M JSF session.invalidate() klappt nicht Web Tier 3
G Session.invalide() funktioniert nicht richtig Web Tier 2
E Java Servlet doPost request, Mehrere Parameter mit demselben Namen aus Tabellenzeilen Web Tier 2
M XML http request zeigt die eigene Website als response Web Tier 2
M request.getUserPrincipal() Typecasting Web Tier 1
BuckRogers JPA Datenbankabfrage bei jedem Request?! Web Tier 6
S JSF CommandButton soll keine Request starten! Web Tier 2
S JSF Request länger haltbar machen *grins* oder injection.. Web Tier 6
lukas24680 Servlet pro Request Web Tier 2
7 kein Absatz mittels request.getParameter()?? Web Tier 8
borobudur Servlet Business-Logik wird bei jedem Request neu erstellt Web Tier 13
S Ajax Request verhindert forward? Web Tier 8
ruutaiokwu request.getParameter() Web Tier 3
J Request weiterleiten Web Tier 6
K Struts request Zugriff Web Tier 4
I Beim zurück-Link wird immer ein Request ausgeführt Web Tier 5
F Problem mit der Methode request.getRemotePort() Web Tier 2
F Object Request Web Tier 6
L Umlaute von Formular mit request holen Web Tier 16
P request.getParameter("name") von Formular auf JSP-Seite leer Web Tier 5
P Rausfinden, wo request herkam Web Tier 4
R Request Parameter kopieren und setzen Web Tier 3
S Per HTTP Request auf Ressourcen innerhalb eines JARs zugreif Web Tier 4
L JSF Request Scope und createValueBinding() Web Tier 1
D request.contextPath in Java-Klasse ausführen Web Tier 5
E Problem mit request.getParameter Web Tier 5
F richfaches:datascroller mit request-scope Web Tier 6

Ähnliche Java Themen

Neue Themen


Oben