# JSP, Session und Java-Bean



## Harald S. Groh (6. Dez 2005)

So langsam bin ich jetzt am verzweifeln. Die Java-Bean, die ich mit Scope Session in meine JSP-Seite mit useBean integriere behält die Daten nicht über mehrere Anfragen.

<jsp:useBean id="sessionbean" class="com.project.beans.SessionBean" scope="session">
	<jsp:setProperty name="sessionbean" property="sessionName" />
</jsp:useBean>

Ist es notwendig hier noch die Objekte session und request mit den Methoden set/get-Attribute zu verwenden, um die Bean zu einer Instanz über die Dauer der Sesison zu machen?

Ich freue mich über jede Hilfe, die mir hier weiterhilft!

Tschüss

Harald


----------



## Bleiglanz (6. Dez 2005)

nein, so wie du das machst hast du eine Bean mit Namen sessionbean im richtigen Scope, sollte also alles funktionieren

wie veränderst du denn die Werte dieser sessionbean? und wie "gehen die Daten verloren"?


----------



## Harald S. Groh (6. Dez 2005)

Ich denke ich habe das Problem entdeckt. Die Eigenschaft "sessionName" wird durch die beiden useBean-Anweisungen geschachtelt und hierbei eigentlich auch gesetzt - aber und jetzt kommts:

NUR WENN DIE BEAN NEU ERZEUGT WIRD!

Deshalb habe ich jetzt

<jsp:useBean id="sessionbean" class="com.project.beans.SessionBean" scope="session">
<%-- hier nur die Aktionen, die beim Neuanlegen des Objektes ausgeführt werden sollen --%>
</jsp:useBean>

<jsp:setProperty name="sessionbean" property="sessionName" />

das so gemacht, damit der "sessionName" bei Neueingabe auch neu gesetzt wird.

Und desweiteren habe ich im index-jsp-scrpit der Applikation die Anweisung

<% session.removeAttribute ("sessionbean"); %>

eingefügt, so dass die Bean auf jeden Fall bei Neustart des Browsers auch neu erzeugt wird (vorher blieb die erhalten.)

Was meinst du dazu? Ist das so richtig?

Tschüss

Harald


----------



## Bleiglanz (6. Dez 2005)

versteh ich nicht:

wenn du nix machst bleibt die bei einem Browser Neustart nicht erhalten

wenn jemand von der index auf eine Seite hüpft und dann zurück, willst du dann wirklich seine Session löschen? Ausserdem könnte jemand eine Unterseite Bookmarken

der mechanismus mit der Initialisierung sollte auf jeder Seite sein, was stimmt daran deiner Meinung nach nicht?


----------



## Guest (6. Dez 2005)

das seltsame was zuvor auiftrat war, das die Bean offensichtlich das beenden des Browser überlebt hat.  Das heißt nach beenden des Browsers und dem Neustart des Browsers hat die Bean die zuvor eingegebenen Daten enthalten.


----------

