Serverseitiges Java: Erweiterte Formularverarbeitung mit JSP

In der Regel werden bei der Formularverarbeitung mehrere Komponenten im Hintergrund ausgeführt, wobei jede Komponente für eine diskrete Aufgabe wie Statusverwaltung, Datenüberprüfung, Datenbankzugriff usw. verantwortlich ist. Während es zahlreiche Beispiele gibt, die die Formularverarbeitung mit Perl-Skripten und -Servlets demonstrieren, hat die Verwendung von JSPs für diesen Zweck wenig Beachtung gefunden. Dafür gibt es einen Grund. Abgesehen von der Tatsache, dass JSP eine relativ neue Technologie ist, wird sie von vielen als hauptsächlich für die Präsentation dynamischer Inhalte aus JavaBeans oder Servlets geeignet angesehen. Wie Sie gleich sehen werden, kann die Kombination von JSP mit JavaBeans bei der Verarbeitung von HTML-Formularen eine wichtige Rolle spielen.

In diesem Artikel werde ich die Handhabung eines Benutzerregistrierungsformulars mit JSP untersuchen. Einer der Grundprinzipien der Programmierung von JSP besteht darin, so viel Verarbeitung wie möglich an JavaBean-Komponenten zu delegieren. Meine Implementierung der JSP-Formularverarbeitung zeigt einige interessante Funktionen. Es bietet nicht nur eine grundlegende Datenvalidierung für die von einem Benutzer eingegebenen Registrierungsinformationen, sondern zeigt auch ein zustandsbehaftetes Verhalten. Auf diese Weise können Sie die Eingabeelemente des Formulars mit validierten Daten vorab füllen, während der Benutzer den Übermittlungszyklus durchläuft und schließlich die richtigen Daten für alle Eingabeelemente eingibt. Lassen Sie uns also ohne weiteres in das Beispiel eintauchen.

Schauen Sie sich Listing 1 an, in dem dem Benutzer ein einfaches Registrierungsformular angezeigt wird (siehe Abbildung 1).

Listing 1. register.html

   
BENUTZER REGISTRATION

* Benötigte Felder

Vorname*

Familienname, Nachname*

Email*

Postleitzahl*

Nutzername*

Passwort*

Kennwort bestätigen*

Für welche Musik interessierst du dich?

Rock Pop Bluegrass

Blues Jazz Country

Möchten Sie E-Mail-Benachrichtigungen über unsere Sonderverkäufe erhalten?

ja Nein

Abbildung 1 zeigt das Benutzerregistrierungsformular, wie es in einem Browser angezeigt wird.