Grundlegende Frage zu Servlets und JSPs

Status
Nicht offen für weitere Antworten.

mad-din

Bekanntes Mitglied
Hi!

Was ist so die gängigste Methode (wenn weder Struts noch JSF) zur Verfügung stehen, um Daten in einer JSP darzustellen, die sich bei jedem Aufruf ändern können? Momentan ist es so, dass ich ein Servlet habe, das aufgerufen wird und das die Daten aus einer Datenbank holt und dann auf die JSP weiterleiten soll. Nur wie kommen dann die Daten vom Servlet zum JSP? Ich kann ja schlecht eine HashMap erstellen und die in die Session speichern und dann im Servlet wieder auslesen...

Wie ist da so die gängingste Methode und was wird hier mehr oder weniger als "Referenz" verwendet?

Danke & viele Grüße
Martin
 
S

SlaterB

Gast
speichere sie in den Request, nicht in die Session, wenn nur für diesen Request gedacht

oder wenn dich das genauso stört wie 'in die Session speichern',
was stört dich daran?

ist mir so als normaler Weg bekannt
 

mad-din

Bekanntes Mitglied
Hm,

was mich daran stört? Ich finds irgendwie unsauber ;) In die Session gehören sich zum Beispiel Daten wie angemeldeter Benutzer, ausgewählte Daten, aber nicht die Daten, die zur Verfügung stehen. Zum Beispiel wäre es doch Schwachsinn alle Personen eines Adressbuchs in die Session zu speichern, um diese dann anzuzeigen.

Wäre es denn z.B. möglich, dass das Servlet die Daten aus der Datenbank holt und in eine Bean speichert, auf die dann die JSP zugreift?

Hintergrund ist folgender: Der Benutzer bekommt eine Liste mit Ländern, eines davon muss er auswählen. Er ruft also das Servlet auf, das liest die aktuellen Länder aus und leitet weiter an die JSP, die alles darstellt. Jetzt kann es aber sein, dass der Benutzer schon ein Land gewählt hat, dann sollte dieses natürlich hervorgehoben werden. Das heißt, das Servlet muss auch prüfen, ob in der Session schon ein ausgewähltest Land vorhanden ist.

Wie löst man sowas im Normalfall?

Viele Grüße
Martin
 
S

SlaterB

Gast
wie gesagt, die nur anzuzeigenden Daten kannst du auch in den Request schreiben,
ich kenne spontan keine andere Möglichkeit, Daten an das JSP weiterzureichen,
außer Java-Tricks wie statische Operation

-----

ein ausgewähltes Land über mehrere Requests gehört nun garantiert in die Session, hast du ja selber gesagt
('In die Session gehören sich zum Beispiel Daten wie angemeldeter Benutzer, ausgewählte Daten')
oder meinst du nur die Auswahl, die mit dem letzten Request im aktuellen Formular mitgesendet wurde?
die wiederum in den Request, immer das gleiche Spiell ;)

sowohl Servlet als auch JSP können auf Session und Request zugreifen
 

mad-din

Bekanntes Mitglied
Hi!

Es ist so: Benutzer ruft Servlet auf und bekommt eine Liste mit Ländern angezeigt, diese Liste kommt aus der Datenbank. Der Benutzer wählt ein Land aus, dieses muss dann in die Session und geht einen Schritt weiter. Wenn er aber irgendwann zurück zur Länderauswahl will, soll es so sein, dass wiederum alle Länder dargestellt werden und das bereits ausgewählte hervorgehoben wird.

Und meiner Meinung nach gehört sich nur das ausgewählte Land in die Session, aber nicht die Liste aller möglichen Länder.

Viele Grüße,
Martin
 
S

SlaterB

Gast
zum 3. Mal: ich schlage auch nicht vor, die Liste aller möglichen Länder in die Session zu schreiben, sondern in den Request..
 

mad-din

Bekanntes Mitglied
Ich finde aber, dass es auch nicht in den Request gehört. Angenommen du müsstest eine Liste von Artikeln aus einer Datenbank in einer JSP darstellen. Wie würdest du das auf die einfachste Art machen ohne dabei unsauberen Code zu produzieren?

Ich weiß auch nicht, aber mir gefällt es, das in den Request zu speichern, weil dann kann ich es auch gleich in die Session speichern.

Viele Grüße
Martin
 
S

SlaterB

Gast
und auch hier zum 2. Mal

SlaterB hat gesagt.:
ich kenne spontan keine andere Möglichkeit, Daten an das JSP weiterzureichen,
außer Java-Tricks wie statische Operation

;)

aber vielleicht antwortet noch wer anders
 

mad-din

Bekanntes Mitglied
Hi!

Sorry, wenn ich mich so sträube, aber ich finds einfach nicht sauber und Java muss doch da sicherlich mehr zur Verfügung stellen (ich gebe zu, bisher hab ichs immer in die Session geschrieben, aber das ist mir mittlerweile zu unsauber und man verliert auch leicht den Überblick). In JSF gibt es ja zum Beispiel die Möglichkeit eine ArrayList an eine DataTable zu binden bzw. ein Objekt an eine DataTable binden. Und so will ich es eigentlich auch haben. Damit wäre alles schön getrennt. Das Servlet kümmert sich darum alles zu verarbeiten, die Daten zu holen, das ausgewählte zu kennzeichnen und die JSP würde einfach nur die Darstellung übernehmen und nicht lange prüfen müssen, ob in der Session schon ein ausgewähltes Land vorhanden ist und dieses dann mit den möglichen Ländern vergleichen und hervorheben.

Viele Grüße
Martin
 
S

SlaterB

Gast
sicher, mit entsprechenden Frameworks kann man alles mögliche verstecken,
letztlich schreiben aber auch diese in die Session/ in den Request (wage ich zu behaupten),
kochen auch nur mit Wasser
 

HLX

Top Contributor
mad-din hat gesagt.:
...und die JSP würde einfach nur die Darstellung übernehmen und nicht lange prüfen müssen, ob in der Session schon ein ausgewähltes Land vorhanden ist und dieses dann mit den möglichen Ländern vergleichen und hervorheben.

Für solche Dinge gibt es das Mittel der Tag-Libraries. Damit kannst du deine Tabellendarstellung auslagern. Schreib einfach ein Tag, dass die Darstellung für dich übernimmt.

Frameworks machen im Prinzip nichts anderes. Struts, JSF...die ganze Darstellung läuft über Tag-Libraries um die JSP-Seite von Code zu befreien.
 

mad-din

Bekanntes Mitglied
Hm,

da könnte was wahres dran sein. Vielleicht finde ich ja noch eine Möglichkeit es "eleganter" zu lösen, ansonsten speicher ichs halt wieder in der Session bzw. im Request ;)

Viele Grüße
Martin
 

ms

Top Contributor
Der Requestscope ist doch genau dafür da, wenn Objekte an weitere Komponenten, die der Request durchläuft, weitergeben werden sollen.
Wenn du innerhalb einer JSP eine Variable benötigst (und nur innerhalb der JSP) dann wäre der PageScope zu verwenden.
In die Session sollten nur dann Objekte, wenn sie über mehrere Requests hinaus verfügbar sein sollen.

ms
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Grundlegende Fragen zum Exception-Handling Web Tier 8
pkm Frage zum URL-Pattern des Bereitstellungsdeskriptors Web Tier 11
A Anfänger-Frage Servlet/Applet/JSP Web Tier 0
C Wahrscheinlich einfache Frage bzgl. JSF Web Tier 2
F JSF Frage zu valueChangeListener Web Tier 1
F JSF synchronized(session) Frage ? Web Tier 1
F JSF h:selectManyCheckbox Css Frage Web Tier 2
F JSF p:selectCheckboxMenu Frage Web Tier 0
S JSF Allgemeine Frage zu JSF Web Tier 10
U Servlet Allgemeine Frage zu Servlets Web Tier 2
K Frage zu Taglibs in JSF Web Tier 3
C Kleinere Frage EJB/JSF Web Tier 7
M Design-Frage: JSP, Servlets und CSS Web Tier 11
M Frage zur Konfiguration einer RichFaces DataTable Web Tier 4
F Frage zu Java Beans Web Tier 17
F Frage zum Validator Web Tier 2
J Frage zu Checkbox bei JSF Web Tier 3
S Frage bezüglich Einblendung eines Zusatzfeldes Web Tier 2
O Escapen oder nicht Escapen, das ist hier die Frage :) (Struts2) Web Tier 2
H Frage zu Servlet getRequestDispatcher Web Tier 2
S JSF: Frage wegen managed-bean Web Tier 3
G Struts 2 - Validation Frage Web Tier 5
E File upload mit jsp (frage zum speicherort) Web Tier 12
G Kurze Frage zu editier-Formularen Web Tier 7
T Action mapping Frage (Struts) Web Tier 2
G Kurze Frage zu Servlets&Struts Web Tier 4
O kurze Frage zur Tomcat Installation Web Tier 2
O Struts Grundlagen Frage Web Tier 32
E einfache Frage zu Servlet (Counter erzeugen) Web Tier 7
W getServletConfig().getInitParameter(.) Frage Web Tier 5
G Frage zu Tiles Web Tier 4
T Model2-Architektur Servlets Web Tier 0
D Servlet EJBs in Servlets verwenden? Web Tier 4
S JSF, JSP, Servlets - ich verstehe nur noch Bahnhof Web Tier 4
M Best practice JSP und Servlets Web Tier 1
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
T Einsteigerfragen zu Servlets/Webprogrammierung mit Java Web Tier 11
C Kommunkation Servlets/Browseraufruf Servlet Web Tier 4
T Tomcat mit Servlets Problem Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
R Daten Streamen mit Servlets. Web Tier 4
J web.xml / Erreichbarkeit von Servlets Web Tier 6
F Richtiges Session Management mit Servlets Web Tier 4
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
S Ein ControllerServlet für andere Servlets - Sinnvoll oder nicht? Web Tier 34
D Servlets vor direktem Zugriff schützen Web Tier 2
O setDefaultUncaughtExceptionHandler in Servlets Web Tier 2
Java.getSkill() Webseiten JSP Servlets Struktur Web Tier 3
R File Einlesen mit jsp/servlets Web Tier 11
S Daten zwischen 2 Servlets aus 2 Webapplikationen teilen? Web Tier 17
D client-seitige Sessions mit Servlets Web Tier 5
M Bilder in Servlets Web Tier 8
U Grundaufbau der Webapp mit JSP/Servlets Web Tier 7
J Welcher WebServer(-anbieter) für Servlets? Web Tier 5
S Ablauffrage von Servlets Web Tier 2
L Massenaufruf ( 5000/s ) eines Servlets testen. Web Tier 4
G synchronized bei Servlets Web Tier 24
rambozola session attribut in servlets und jsps Web Tier 11
D Kann Servlets nicht kompilieren Web Tier 7

Ähnliche Java Themen

Neue Themen


Oben