Huhu,
wie in nem anderen Post erwähnt arbeite ich mich in JSF ein. Dies ist mein erster Kontakt mit J2EE und somit setze ich zum ersten Mal Java Beans ein. Dazu habe ich nun ein paar Verständnisfragen:
1) Wann und wo wird das Bean erzeugt, also "Bean test = new Bean();" ? In meinem JSF Projekt möchte ich ein Bean nutzen, das meine Eingabedaten nach einem Submit eines JPSs in diesem Bean speichert.
Ich müsste wissen wann es initialisiert wird, da ich im Standardkonstruktor des Beans eine Cookieabfrage machen möchte, d.h. ich möchte überprüfen, ob ein Cookie mit den benutzerdefinierten Werten des Benutzers schon vorhanden ist. Wenn ja soll mein Bean diese Werte übernehmen und seine Variablen damit initialisieren. Falls nicht werden die Variablen des Beans mit Defaultwerten initialisiert, die danach in einem Cookie abgelegt werden sollen.
Dies soll vor dem Aufruf der "Benutzereinstellungs-JSP" erfolgen, da ich gerne die Eingabefelder des JSP mit den vorher gesetzten Werten aus der Bean "initialisieren" möchte.
Da ich nicht weiss, ob ein Bean wie eine normale Klasse erzeugt wird, und ich mit einem Beanobjekt arbeiten kann, weiss ich auch nicht wie ich dies realisieren kann. Mir kommt es so vor als ob in JSF die Beans immer nur dann erzeugt werden, wenn diese vom JSP erstmalig aufgerufen werden.
2) Was hat es mit dem Scope auf sich? Wenn ich den Scope "session" benutze, woher weiss dann JSF, wann diese Session vorbei ist? Speichert JSF eine Session ID über eine gewisse Zeit ab? (Wobei ich glaub zu scope werd ich ein bissl googlen.
)
3) Nochmal zu Beans. Darf ein Bean auch private Methoden enthalten? Oder ist dann das Bean kein Bean mehr?
4) Kann ich auch in meinen Bean Methoden mit komplexeren Berechnungen implementieren oder sollte man dazu lieber eine extra Klasse erzeugen, die ich dann im Bean aufrufe? (quasi durchreichen von Berechnungsklasse->Bean->View). Ist es generell sinnvoller Berechnungen auszulagern? Oder macht es keinen Unterschied, wenn ich dazu die Beans benutze?
Das wars erstmal
Bis dann
wie in nem anderen Post erwähnt arbeite ich mich in JSF ein. Dies ist mein erster Kontakt mit J2EE und somit setze ich zum ersten Mal Java Beans ein. Dazu habe ich nun ein paar Verständnisfragen:
1) Wann und wo wird das Bean erzeugt, also "Bean test = new Bean();" ? In meinem JSF Projekt möchte ich ein Bean nutzen, das meine Eingabedaten nach einem Submit eines JPSs in diesem Bean speichert.
Ich müsste wissen wann es initialisiert wird, da ich im Standardkonstruktor des Beans eine Cookieabfrage machen möchte, d.h. ich möchte überprüfen, ob ein Cookie mit den benutzerdefinierten Werten des Benutzers schon vorhanden ist. Wenn ja soll mein Bean diese Werte übernehmen und seine Variablen damit initialisieren. Falls nicht werden die Variablen des Beans mit Defaultwerten initialisiert, die danach in einem Cookie abgelegt werden sollen.
Dies soll vor dem Aufruf der "Benutzereinstellungs-JSP" erfolgen, da ich gerne die Eingabefelder des JSP mit den vorher gesetzten Werten aus der Bean "initialisieren" möchte.
Da ich nicht weiss, ob ein Bean wie eine normale Klasse erzeugt wird, und ich mit einem Beanobjekt arbeiten kann, weiss ich auch nicht wie ich dies realisieren kann. Mir kommt es so vor als ob in JSF die Beans immer nur dann erzeugt werden, wenn diese vom JSP erstmalig aufgerufen werden.
2) Was hat es mit dem Scope auf sich? Wenn ich den Scope "session" benutze, woher weiss dann JSF, wann diese Session vorbei ist? Speichert JSF eine Session ID über eine gewisse Zeit ab? (Wobei ich glaub zu scope werd ich ein bissl googlen.
3) Nochmal zu Beans. Darf ein Bean auch private Methoden enthalten? Oder ist dann das Bean kein Bean mehr?
4) Kann ich auch in meinen Bean Methoden mit komplexeren Berechnungen implementieren oder sollte man dazu lieber eine extra Klasse erzeugen, die ich dann im Bean aufrufe? (quasi durchreichen von Berechnungsklasse->Bean->View). Ist es generell sinnvoller Berechnungen auszulagern? Oder macht es keinen Unterschied, wenn ich dazu die Beans benutze?
Das wars erstmal
Bis dann