Hallo,
ich habe eine Frage zur einer Übungsaufgabe zu Servlets. Ich muss dazu sagen, dass ich im Bereich Servlets noch absolute Anfängerin bin (vorgestern zum ersten Mal davon gehört). Ich hoffe ihr könnt mir da die Richtung weisen.
Aufgabenteil 1 ist:
Sie schreiben ein Mini-StudiVZ. Man kann persönliche Daten in ein Formular eintragen, welche nachher auf einer Webseite angezeigt werden. Rezept:
• Legen Sie ein Dynamic WebProject an
• Schreiben Sie ein einfaches HTML-Formular
• Schreiben Sie ein Servlet, das die Formulardaten ausliest und eine HTML-Seite erzeugt. Diese
Seite enthält eine dreispaltige Tabelle mit eben diesen Daten:
1. Spalte: Feldbeschreibung, z.B. "Vorname"
2. Spalte: Wert, z.B. Fredi
3. Spalte: bleibt noch leer
• Ändern Sie den URL-Pfad ("URL Mapping") auf "HtwgBook"
• Lassen Sie sich die generierte Seite anzeigen
=> Diesen Teil habe ich problemlos durchgeführt und es funktioniert. Nun kommt der schwierige Teil 2, an dem ich hänge:
Die angezeigte Webseite, welche die Tabelle mit den persönlichen Daten enthält, soll jetzt auch editierbar sein: In der dritten Spalte befindet sich nun ein Button "ändern". Drückt man diesen Knopf, so erscheint ein Eingabefeld, in das man den neuen Wert eingeben kann. Nach "submit" wir die Tabelle mit dem neuen Wert angezeigt. Die anderen Tabellenzeilen bleiben unverändert.
Rezept
• Passen Sie Ihr Servlet so an, dass es eine dreispaltige Tabelle mit den Formularfeldern ausgibt. Außerdem sollte es in der Lage sein, sich alle Werte zu "merken". Denken Sie an eine Klasse des Collection-Frameworks und die Möglichkeit, Daten Request-übergreifend zu speichern.
• Das erzeugte Formular hat als "Action-Ziel" das gleiche Servlet. Mit einem Parameter (URL) könnten Sie dafür sorgen, dass Sie den Request an eine andere Methode des Servlets oder an eine Hilfsklasse weiterleiten.
Hiermit bin ich nun völlig überfordert. Ich vermute mit Request-übergreifend speichern wird auf das Session-Konzept angespielt und es ist eine HashMap aus dem Collection-Framework gemeint? Aber wie implementiere ich diesen Button und brauche ich dafür ein neues Formular oder nutze das schon vorher erstellte? Und vor allem: was ist mit dem Parameter gemeint, mit dem ich auf eine andere Methode im Servlet komme (ich dachte da gäbe es nur doGet und doPost und meine Session ist ja auch in der doGet-Methode angelegt).
Für einige Hinweise, wie ich am besten weitermache bzw. an welche Konzepte ich denken sollte wäre ich sehr dankbar!
P.S. Ich hoffe der Beitrag ist so in Ordnung, ist für mich das erste Mal, also gerne korrigieren oder was nachfordern.
Edit: danke fürs Verschieben hierher und ich hoffe es sieht nicht wie das Erschleichen einer Lösung aus - Tipps reichen mir schon, an den Code setze ich mich natürlich selbst.
ich habe eine Frage zur einer Übungsaufgabe zu Servlets. Ich muss dazu sagen, dass ich im Bereich Servlets noch absolute Anfängerin bin (vorgestern zum ersten Mal davon gehört). Ich hoffe ihr könnt mir da die Richtung weisen.
Aufgabenteil 1 ist:
Sie schreiben ein Mini-StudiVZ. Man kann persönliche Daten in ein Formular eintragen, welche nachher auf einer Webseite angezeigt werden. Rezept:
• Legen Sie ein Dynamic WebProject an
• Schreiben Sie ein einfaches HTML-Formular
• Schreiben Sie ein Servlet, das die Formulardaten ausliest und eine HTML-Seite erzeugt. Diese
Seite enthält eine dreispaltige Tabelle mit eben diesen Daten:
1. Spalte: Feldbeschreibung, z.B. "Vorname"
2. Spalte: Wert, z.B. Fredi
3. Spalte: bleibt noch leer
• Ändern Sie den URL-Pfad ("URL Mapping") auf "HtwgBook"
• Lassen Sie sich die generierte Seite anzeigen
=> Diesen Teil habe ich problemlos durchgeführt und es funktioniert. Nun kommt der schwierige Teil 2, an dem ich hänge:
Die angezeigte Webseite, welche die Tabelle mit den persönlichen Daten enthält, soll jetzt auch editierbar sein: In der dritten Spalte befindet sich nun ein Button "ändern". Drückt man diesen Knopf, so erscheint ein Eingabefeld, in das man den neuen Wert eingeben kann. Nach "submit" wir die Tabelle mit dem neuen Wert angezeigt. Die anderen Tabellenzeilen bleiben unverändert.
Rezept
• Passen Sie Ihr Servlet so an, dass es eine dreispaltige Tabelle mit den Formularfeldern ausgibt. Außerdem sollte es in der Lage sein, sich alle Werte zu "merken". Denken Sie an eine Klasse des Collection-Frameworks und die Möglichkeit, Daten Request-übergreifend zu speichern.
• Das erzeugte Formular hat als "Action-Ziel" das gleiche Servlet. Mit einem Parameter (URL) könnten Sie dafür sorgen, dass Sie den Request an eine andere Methode des Servlets oder an eine Hilfsklasse weiterleiten.
Hiermit bin ich nun völlig überfordert. Ich vermute mit Request-übergreifend speichern wird auf das Session-Konzept angespielt und es ist eine HashMap aus dem Collection-Framework gemeint? Aber wie implementiere ich diesen Button und brauche ich dafür ein neues Formular oder nutze das schon vorher erstellte? Und vor allem: was ist mit dem Parameter gemeint, mit dem ich auf eine andere Methode im Servlet komme (ich dachte da gäbe es nur doGet und doPost und meine Session ist ja auch in der doGet-Methode angelegt).
Für einige Hinweise, wie ich am besten weitermache bzw. an welche Konzepte ich denken sollte wäre ich sehr dankbar!
P.S. Ich hoffe der Beitrag ist so in Ordnung, ist für mich das erste Mal, also gerne korrigieren oder was nachfordern.
Edit: danke fürs Verschieben hierher und ich hoffe es sieht nicht wie das Erschleichen einer Lösung aus - Tipps reichen mir schon, an den Code setze ich mich natürlich selbst.
Zuletzt bearbeitet: