Stephanie Fesler Kaminaris, Jose Annunziato
Jetzt lerne ich JavaServer Pages, m. CD-ROM
Dynamische Websites einfach erstellt
Stephanie Fesler Kaminaris, Jose Annunziato
Jetzt lerne ich JavaServer Pages, m. CD-ROM
Dynamische Websites einfach erstellt
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Ihr Ziel: Sie wollen lernen, wie Sie JavaServer Pages programmieren und einsetzen. Ihr Mittel: Dieses leicht verständliche Lehrbuch, das Ihnen garantiert zum gelungenen Einstieg verhilft. Sie lernen Schritt für Schritt, die Architketur von JSP zu verstehen, eigene Programme zu entwickeln, diese in schon bestehende Sites zu integrieren und als Projekte zu verwalten. Ein erfolgreicher Start für alle, die schon ein wenig Ahnung von Java haben.
Ihr Ziel: Sie wollen lernen, wie Sie JavaServer Pages programmieren und einsetzen. Ihr Mittel: Dieses leicht verständliche Lehrbuch, das Ihnen garantiert zum gelungenen Einstieg verhilft. Sie lernen Schritt für Schritt, die Architketur von JSP zu verstehen, eigene Programme zu entwickeln, diese in schon bestehende Sites zu integrieren und als Projekte zu verwalten. Ein erfolgreicher Start für alle, die schon ein wenig Ahnung von Java haben.
Produktdetails
- Produktdetails
- Verlag: Markt +Technik
- Seitenzahl: 452
- Erscheinungstermin: 29. Juni 2001
- Abmessung: 240mm
- Gewicht: 795g
- ISBN-13: 9783827260093
- ISBN-10: 3827260094
- Artikelnr.: 09696663
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
- Verlag: Markt +Technik
- Seitenzahl: 452
- Erscheinungstermin: 29. Juni 2001
- Abmessung: 240mm
- Gewicht: 795g
- ISBN-13: 9783827260093
- ISBN-10: 3827260094
- Artikelnr.: 09696663
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
Einleitung 17
Die AutorInnen 21
1 Einführung in Webanwendungen 23
1.1 Was sind JavaServer Pages? 24
1.2 Die Entwicklungsgeschichte des Webs 26
1.2.1 Das statische Web 26
1.2.2 Das Plug-In-Web 27
1.2.3 Das dynamische Web 31
1.2.4 Das Mehrschicht-Web 33
1.3 Die J2EE-Plattform 35
1.3.1 Wer entwickelte die J2EE-Spezifikation? 35
1.3.2 Was definiert die J2EE-Spezifikation? 35
1.3.3 Wem nützt die J2EE-Spezifikation? 35
1.3.4 Die Technologien der J2EE-Plattform 36
1.4 Was sind Applikationsserver? 38
1.4.1 Warum man einen Applikationsserver braucht 38
1.4.2 Was "J2EE-kompatibel" bedeutet 39
1.4.3 Hersteller von Applikationsservern 39
1.5 Zusammenfassung 40
1.6 Fragen und Antworten 41
1.7 Workshop 41
2 Ihre erste JavaServer Page 43
2.1 HTML im Überblick 43
2.2 JSPs im Vergleich mit CGI-Programmen 44
2.3 JSPs im Vergleich mit ASPs 45
2.4 Erzeugen Sie Ihre erste JSP 47
2.4.1 Apache Tomcat einrichten 47
2.4.2 Die JSP schreiben 52
2.4.3 Die JSP abspeichern 52
2.4.4 Die JSP mit einem Browser ansehen 53
2.5 Zusammenfassung 54
2.6 Fragen und Antworten 54
2.7 Workshop 55
3 Einführung in Servlets 57
3.1 Was ist ein Servlet? 57
3.2 Wie aus JSPs Servlets werden 58
3.2.1 Der JSP/Servlet-Lebenszyklus 59
3.2.2 Der JSP-Übersetzungsprozess 59
3.3 Die Grundstruktur eines HTTP-Servlets 60
3.3.1 Die Init-Methode 60
3.3.2 Die Service-Methode 61
3.3.3 Die doPost- und doGet-Methoden 61
3.4 Übersetzung einer JSP in ein Servlet 63
3.4.1 Eine einfache JSP schreiben 63
3.5 Zusammenfassung 67
3.6 Fragen und Antworten 67
3.7 Workshop 67
4 Applikationsserver-Konfiguration 69
4.1 Den WebLogic Server konfigurieren 69
4.1.1 Installation 70
4.1.2 Die Verzeichnisstruktur 71
4.1.3 Die Eigenschaften-Datei 72
4.1.4 Registrierung des JSPServlets 75
4.1.5 Die Initialisierungsparameter des JSPServlets 75
4.2 Eine JSP auf dem WLS laufen lassen 76
4.3 Zusammenfassung 77
4.4 Fragen und Antworten 77
4.5 Workshop 78
5 JSP-Anwendungsmodelle 79
5.1 Was sind JSP-Anwendungsmodelle? 79
5.2 Das einfache Modell 80
5.3 Das Mehrschicht-Modell 82
5.4 Das Modell mit lockerer Kopplung 83
5.5 Das Modell mit Einbindung von Anfragen 84
5.6 Das Modell mit Weiterleiten von Anfragen 86
5.7 Zusammenfassung 90
5.8 Fragen und Antworten 90
5.9 Workshop 90
6 JSP-Layouts 93
6.1 Tags und Attributwerte 93
6.1.1 Einzelne und paarweise Tags 94
6.1.2 Konfiguration von Tags mit Attributen 94
6.2 Kommentare 95
6.2.1 HTML-Kommentare 95
6.2.2 JSP-Kommentare 95
6.2.3 Java-Kommentare 96
6.3 Bestandteile einer JSP 97
6.3.1 HTML-Code schreiben 97
6.3.2 JSP-Tag-Elemente 97
6.3.3 JSP-Deklarations-Tags 98
6.3.4 JSP-Ausdrucks-Tags 99
6.3.5 JSP-Scriptlet-Tags 99
6.3.6 JSP-Direktiven-Tags deklarieren 101
6.3.7 JSP-Aktions-Tags deklarieren 101
6.4 Implizite JSP-Objekte 102
6.4.1 Das Request-Objekt 102
6.4.2 Das Response-Objekt 102
6.4.3 Das Session-Objekt 102
6.4.4 Das Config-Objekt 103
6.4.5 Überblick über die anderen impliziten Objekte 103
6.5 JSPs und JavaBeans 103
6.5.1 Warum JavaBeans? 104
6.5.2 Die JavaBean-Spezifikation 104
6.5.3 Instanziierung einer JavaBean 105
6.5.4 Die Tags setProperty und getProperty 105
6.5.5 Ein kurzes Beispiel zu JavaBeans 105
6.6 Zusammenfassung 106
6.7 Fragen und Antworten 106
6.8 Workshop 107
7 Variablen und Methoden in JSPs 109
7.1 Tags zur Deklaration 109
7.2 Deklaration von Variablen 110
7.2.1 Datentypen 111
7.2.2 Initialisierung von Variablen 113
7.2.3 Deklaration von Arrays und anderen Collections 114
7.3 Deklaration von Methoden 117
7.3.1 Methodenaufruf 118
7.3.2 Methodenüberladung 121
7.4 Zusammenfassung 122
7.5 Fragen und Antworten 123
7.6 Workshop 124
8 Java-Ausdrücke in JSPs 127
8.1 JSP-Ausdrucks-Tags 128
8.2 JSP-Ausdruck als Variablen-Referenz 128
8.2.1 Überschreiben der toString()-Methode 130
8.3 Methodenaufruf aus einem Ausdruck 132
8.3.1 Lokaler Methodenaufruf 132
8.3.2 Aufruf einer Methode eines Objekts 134
8.4 Zusammenfassung 136
8.5 Frage und Antwort 136
8.6 Workshop 137
9 JSP-Steuerung mit Java Scriptlets 139
9.1 Scriptlets 140
9.2 Entscheidungsstrukturen 140
9.2.1 Die If-Abfrage 140
9.2.2 Die Switch-Abfrage 143
9.2.3 Der Break-Befehl 145
9.3 Schleifenstrukturen 146
9.3.1 Die for-Schleife 147
9.3.2 Die while-Schleife 149
9.3.3 Der Continue-Befehl 151
9.3.4 Die do/while-Schleife 153
9.4 Zusammenfassung 156
9.5 Workshop 156
10 Anfragen verarbeiten 157
10.1 Anfragen verstehen 158
10.2 Anfragen erzeugen 159
10.2.1 Der Aufbau einer URL 159
10.2.2 Anfragen über einen Hyperlink 160
10.3 Pfad- und URL-Informationen 161
10.4 Host- und Port-Informationen 162
10.5 Analyse der Parameter im Abfrage-String 164
10.6 HTML-Formulare 166
10.6.1 Ein Beispiel: Kreditkartenformular 168
10.7 Zusammenfassung 171
10.8 Fragen und Antworten 172
10.9 Workshop 173
11 Die dynamische Antwort 175
11.1 Dynamische Inhalte erzeugen 175
11.1.1 Dynamische Überschriften 176
11.1.2 Dynamische Tabellen 177
11.1.3 Dynamische Formulare 180
11.2 Eine konfigurierbare Homepage 183
11.3 Zusammenfassung 188
11.4 Frage und Antwort 188
11.5 Workshop 188
12 Anwender-Sitzungen verfolgen 191
12.1 HTTP als zustandsloses Protokoll 191
12.2 Speichern und Einlesen von Cookies 193
12.3 Anwender-Sitzungen 196
12.4 URL-Kodierung 203
12.5 Zusammenfassung 206
12.6 Fragen und Antworten 206
12.7 Workshop 206
13 Konfiguration von JSPs 209
13.1 Registrierung und Initialisierung 209
13.2 Ausgabe aller Initialisierungsparameter 210
13.3 JSPs zu Servlets kompilieren 212
13.4 Registrierung im Applikationsserver 214
13.5 Das Config-Objekt 215
13.6 Das ServletContext-Objekt 217
13.7 Zusammenfassung 218
13.8 Fragen und Antworten 218
13.9 Workshop 219
14 Fehlerbehandlung 221
14.1 Fehler verstehen 221
14.1.1 Exception- und Throwable-Klassen 222
14.1.2 Stack Trace 224
14.1.3 Exceptions auffangen 225
14.2 Exceptions verarbeiten 225
14.2.1 Benutzerdefinierte Exceptions 226
14.2.2 Exceptions in einer JSP werfen 227
14.2.3 Exceptions in einer JSP auffangen 229
14.2.4 Exceptions aus Java-Klassen in JSPs auffangen 231
14.3 Fehlerseiten 232
14.3.1 Aufsetzen der Fehlerseite 233
14.3.2 Das implizite Exception-Objekt 235
14.4 Zusammenfassung 238
14.5 Fragen und Antworten 238
14.6 Workshop 239
15 Java-Applets 241
15.1 Syntax des JSP-Aktions-Tags 242
15.2 Die Plugin-Aktion 242
15.3 Initialisierung der Applet-Parameter 246
15.4 Alle Teile der Plugin-Aktion nutzen 250
15.5 Zusammenfassung 255
15.6 Fragen und Antworten 256
15.7 Workshop 256
16 JavaBeans in JSPs 257
16.1 JavaBeans verstehen 257
16.2 Ein Beispiel: Mitarbeiter-Java-Bean 259
16.3 Geltungsbereich von JavaBeans 263
16.4 Ein Beispiel: Einkaufswagen-JavaBean 264
16.5 JavaBean-Eigenschaften 269
16.6 Formulare mit JavaBeans auswerten 271
16.7 Zusammenfassung 274
16.8 Fragen und Antworten 274
16.9 Workshop 275
17 Zugriff auf Datenbanken 277
17.1 Erstellung einer Datenbank 278
17.1.1 Cloudscapes Cloudview verwenden 278
17.1.2 Tabellen erzeugen 280
17.1.3 Einträge erzeugen 281
17.2 Java Database Connectivity (JDBC) 283
17.2.1 JDBC-Treiber 285
17.2.2 Verbindungsaufbau zur Datenbank 287
17.2.3 Interaktion mit der Datenbank 287
17.2.4 Abfrageergebnisse ansehen 288
17.3 JSP-Interaktion mit einer Datenbank 289
17.3.1 JSP-Ausgabe von Datenbankinhalten 289
17.3.2 Datenbank-Update per JSP 291
17.4 Zusammenfassung 293
17.5 Fragen und Antworten 294
17.6 Workshop 296
18 Text ersetzen 297
18.1 Die include-Direktive verstehen 297
18.1.1 Die include-Direktive verwenden 298
18.2 Beispiele zur include-Direktive 299
18.2.1 Ein Textdokument einbinden 299
18.2.2 Eine andere JSP einbinden 302
18.2.3 Die einzubindende Datei fehlt 304
18.3 Zusammenfassung 306
18.4 Fragen und Antworten 307
18.5 Workshop 307
19 Tag-Bibliotheken 309
19.1 Tag-Bibliotheken verstehen 310
19.1.1 Die taglib-Direktive 310
19.2 Anwendungsbeispiele 312
19.2.1 Page-Hits verfolgen 312
19.2.2 session-Elemente auflisten 316
19.2.3 Benutzerdefiniertes Aktions-Tag mit Attributen 319
19.3 Zusammenfassung 323
19.4 Fragen und Antworten 323
19.5 Workshop 324
20 Anfragen mit mehreren JSPs bearbeiten 325
20.1 Das Anwendungsmodell mit Einbindung von Anfragen (Including Requests) 325
20.2 Rückblick auf JSP-Aktionen 326
20.2.1 Die include-Aktion 327
20.2.2 Unterschied include-Aktion/include-Direktive 327
20.3 Implementierung der include-Aktion 327
20.4 Das Anwendungsmodell mit der Weiterleitung von Anfragen (Forwarding Requests) 335
20.4.1 Die forward-Aktion 335
20.5 Implementierung der forward-Aktion 336
20.6 Zusammenfassung 345
20.7 Fragen und Antworten 346
20.8 Workshop 346
21 Eine Unternehmensanwendung programmieren 347
21.1 Aufbau der Unternehmensanwendung 347
21.2 Anforderungsanalyse 348
21.3 Aufbau der Anwendung 353
21.4 Zusammenfassung 355
21.5 Fragen und Antworten 356
21.6 Workshop 356
22 Die Präsentationsschicht 357
22.1 Die Anwendung aufbauen 357
22.1.1 Logo.html schreiben 358
22.1.2 SiteNavigator.html schreiben 359
22.1.3 Die Homepage schreiben 361
22.1.4 AusgabeSoziUnternehmen.jsp schreiben 364
22.1.5 Die JSP für die Unternehmensrichtlinien schreiben 367
22.1.6 Persönliche Mitarbeiterdaten 370
22.2 Zusammenfassung 378
22.3 Fragen und Antworten 379
22.4 Workshop 379
23 Die Businesslogik programmieren 381
23.1 Überblick 382
23.1.1 Neue Mitarbeiter hinzufügen 382
23.1.2 Mitarbeiterdaten ändern 392
23.2 Zusammenfassung 400
23.3 Fragen und Antworten 401
23.4 Workshop 401
24 Eine Unternehmensanwendung zusammenstellen und installieren 403
24.1 Was ist ein Webarchiv? 404
24.2 Die Verzeichnisstruktur für das Webarchiv einrichten 405
24.2.1 Änderungen an Ihren HTML- und JSP-Dateien 406
24.3 Den Deployment-Deskriptor schreiben 420
24.4 Die .war-Datei generieren 424
24.4.1 Die .war-Datei installieren 424
24.5 Anfragen an Ihre Anwendung ausführen 425
24.6 Zusammenfassung 426
24.7 Fragen und Antworten 426
24.8 Workshop 426
Anhang A: Lösungen zu den Testfragen 429
Anhang B: Inhalt der CD-ROM 441
Stichwortverzeichnis 443
Die AutorInnen 21
1 Einführung in Webanwendungen 23
1.1 Was sind JavaServer Pages? 24
1.2 Die Entwicklungsgeschichte des Webs 26
1.2.1 Das statische Web 26
1.2.2 Das Plug-In-Web 27
1.2.3 Das dynamische Web 31
1.2.4 Das Mehrschicht-Web 33
1.3 Die J2EE-Plattform 35
1.3.1 Wer entwickelte die J2EE-Spezifikation? 35
1.3.2 Was definiert die J2EE-Spezifikation? 35
1.3.3 Wem nützt die J2EE-Spezifikation? 35
1.3.4 Die Technologien der J2EE-Plattform 36
1.4 Was sind Applikationsserver? 38
1.4.1 Warum man einen Applikationsserver braucht 38
1.4.2 Was "J2EE-kompatibel" bedeutet 39
1.4.3 Hersteller von Applikationsservern 39
1.5 Zusammenfassung 40
1.6 Fragen und Antworten 41
1.7 Workshop 41
2 Ihre erste JavaServer Page 43
2.1 HTML im Überblick 43
2.2 JSPs im Vergleich mit CGI-Programmen 44
2.3 JSPs im Vergleich mit ASPs 45
2.4 Erzeugen Sie Ihre erste JSP 47
2.4.1 Apache Tomcat einrichten 47
2.4.2 Die JSP schreiben 52
2.4.3 Die JSP abspeichern 52
2.4.4 Die JSP mit einem Browser ansehen 53
2.5 Zusammenfassung 54
2.6 Fragen und Antworten 54
2.7 Workshop 55
3 Einführung in Servlets 57
3.1 Was ist ein Servlet? 57
3.2 Wie aus JSPs Servlets werden 58
3.2.1 Der JSP/Servlet-Lebenszyklus 59
3.2.2 Der JSP-Übersetzungsprozess 59
3.3 Die Grundstruktur eines HTTP-Servlets 60
3.3.1 Die Init-Methode 60
3.3.2 Die Service-Methode 61
3.3.3 Die doPost- und doGet-Methoden 61
3.4 Übersetzung einer JSP in ein Servlet 63
3.4.1 Eine einfache JSP schreiben 63
3.5 Zusammenfassung 67
3.6 Fragen und Antworten 67
3.7 Workshop 67
4 Applikationsserver-Konfiguration 69
4.1 Den WebLogic Server konfigurieren 69
4.1.1 Installation 70
4.1.2 Die Verzeichnisstruktur 71
4.1.3 Die Eigenschaften-Datei 72
4.1.4 Registrierung des JSPServlets 75
4.1.5 Die Initialisierungsparameter des JSPServlets 75
4.2 Eine JSP auf dem WLS laufen lassen 76
4.3 Zusammenfassung 77
4.4 Fragen und Antworten 77
4.5 Workshop 78
5 JSP-Anwendungsmodelle 79
5.1 Was sind JSP-Anwendungsmodelle? 79
5.2 Das einfache Modell 80
5.3 Das Mehrschicht-Modell 82
5.4 Das Modell mit lockerer Kopplung 83
5.5 Das Modell mit Einbindung von Anfragen 84
5.6 Das Modell mit Weiterleiten von Anfragen 86
5.7 Zusammenfassung 90
5.8 Fragen und Antworten 90
5.9 Workshop 90
6 JSP-Layouts 93
6.1 Tags und Attributwerte 93
6.1.1 Einzelne und paarweise Tags 94
6.1.2 Konfiguration von Tags mit Attributen 94
6.2 Kommentare 95
6.2.1 HTML-Kommentare 95
6.2.2 JSP-Kommentare 95
6.2.3 Java-Kommentare 96
6.3 Bestandteile einer JSP 97
6.3.1 HTML-Code schreiben 97
6.3.2 JSP-Tag-Elemente 97
6.3.3 JSP-Deklarations-Tags 98
6.3.4 JSP-Ausdrucks-Tags 99
6.3.5 JSP-Scriptlet-Tags 99
6.3.6 JSP-Direktiven-Tags deklarieren 101
6.3.7 JSP-Aktions-Tags deklarieren 101
6.4 Implizite JSP-Objekte 102
6.4.1 Das Request-Objekt 102
6.4.2 Das Response-Objekt 102
6.4.3 Das Session-Objekt 102
6.4.4 Das Config-Objekt 103
6.4.5 Überblick über die anderen impliziten Objekte 103
6.5 JSPs und JavaBeans 103
6.5.1 Warum JavaBeans? 104
6.5.2 Die JavaBean-Spezifikation 104
6.5.3 Instanziierung einer JavaBean 105
6.5.4 Die Tags setProperty und getProperty 105
6.5.5 Ein kurzes Beispiel zu JavaBeans 105
6.6 Zusammenfassung 106
6.7 Fragen und Antworten 106
6.8 Workshop 107
7 Variablen und Methoden in JSPs 109
7.1 Tags zur Deklaration 109
7.2 Deklaration von Variablen 110
7.2.1 Datentypen 111
7.2.2 Initialisierung von Variablen 113
7.2.3 Deklaration von Arrays und anderen Collections 114
7.3 Deklaration von Methoden 117
7.3.1 Methodenaufruf 118
7.3.2 Methodenüberladung 121
7.4 Zusammenfassung 122
7.5 Fragen und Antworten 123
7.6 Workshop 124
8 Java-Ausdrücke in JSPs 127
8.1 JSP-Ausdrucks-Tags 128
8.2 JSP-Ausdruck als Variablen-Referenz 128
8.2.1 Überschreiben der toString()-Methode 130
8.3 Methodenaufruf aus einem Ausdruck 132
8.3.1 Lokaler Methodenaufruf 132
8.3.2 Aufruf einer Methode eines Objekts 134
8.4 Zusammenfassung 136
8.5 Frage und Antwort 136
8.6 Workshop 137
9 JSP-Steuerung mit Java Scriptlets 139
9.1 Scriptlets 140
9.2 Entscheidungsstrukturen 140
9.2.1 Die If-Abfrage 140
9.2.2 Die Switch-Abfrage 143
9.2.3 Der Break-Befehl 145
9.3 Schleifenstrukturen 146
9.3.1 Die for-Schleife 147
9.3.2 Die while-Schleife 149
9.3.3 Der Continue-Befehl 151
9.3.4 Die do/while-Schleife 153
9.4 Zusammenfassung 156
9.5 Workshop 156
10 Anfragen verarbeiten 157
10.1 Anfragen verstehen 158
10.2 Anfragen erzeugen 159
10.2.1 Der Aufbau einer URL 159
10.2.2 Anfragen über einen Hyperlink 160
10.3 Pfad- und URL-Informationen 161
10.4 Host- und Port-Informationen 162
10.5 Analyse der Parameter im Abfrage-String 164
10.6 HTML-Formulare 166
10.6.1 Ein Beispiel: Kreditkartenformular 168
10.7 Zusammenfassung 171
10.8 Fragen und Antworten 172
10.9 Workshop 173
11 Die dynamische Antwort 175
11.1 Dynamische Inhalte erzeugen 175
11.1.1 Dynamische Überschriften 176
11.1.2 Dynamische Tabellen 177
11.1.3 Dynamische Formulare 180
11.2 Eine konfigurierbare Homepage 183
11.3 Zusammenfassung 188
11.4 Frage und Antwort 188
11.5 Workshop 188
12 Anwender-Sitzungen verfolgen 191
12.1 HTTP als zustandsloses Protokoll 191
12.2 Speichern und Einlesen von Cookies 193
12.3 Anwender-Sitzungen 196
12.4 URL-Kodierung 203
12.5 Zusammenfassung 206
12.6 Fragen und Antworten 206
12.7 Workshop 206
13 Konfiguration von JSPs 209
13.1 Registrierung und Initialisierung 209
13.2 Ausgabe aller Initialisierungsparameter 210
13.3 JSPs zu Servlets kompilieren 212
13.4 Registrierung im Applikationsserver 214
13.5 Das Config-Objekt 215
13.6 Das ServletContext-Objekt 217
13.7 Zusammenfassung 218
13.8 Fragen und Antworten 218
13.9 Workshop 219
14 Fehlerbehandlung 221
14.1 Fehler verstehen 221
14.1.1 Exception- und Throwable-Klassen 222
14.1.2 Stack Trace 224
14.1.3 Exceptions auffangen 225
14.2 Exceptions verarbeiten 225
14.2.1 Benutzerdefinierte Exceptions 226
14.2.2 Exceptions in einer JSP werfen 227
14.2.3 Exceptions in einer JSP auffangen 229
14.2.4 Exceptions aus Java-Klassen in JSPs auffangen 231
14.3 Fehlerseiten 232
14.3.1 Aufsetzen der Fehlerseite 233
14.3.2 Das implizite Exception-Objekt 235
14.4 Zusammenfassung 238
14.5 Fragen und Antworten 238
14.6 Workshop 239
15 Java-Applets 241
15.1 Syntax des JSP-Aktions-Tags 242
15.2 Die Plugin-Aktion 242
15.3 Initialisierung der Applet-Parameter 246
15.4 Alle Teile der Plugin-Aktion nutzen 250
15.5 Zusammenfassung 255
15.6 Fragen und Antworten 256
15.7 Workshop 256
16 JavaBeans in JSPs 257
16.1 JavaBeans verstehen 257
16.2 Ein Beispiel: Mitarbeiter-Java-Bean 259
16.3 Geltungsbereich von JavaBeans 263
16.4 Ein Beispiel: Einkaufswagen-JavaBean 264
16.5 JavaBean-Eigenschaften 269
16.6 Formulare mit JavaBeans auswerten 271
16.7 Zusammenfassung 274
16.8 Fragen und Antworten 274
16.9 Workshop 275
17 Zugriff auf Datenbanken 277
17.1 Erstellung einer Datenbank 278
17.1.1 Cloudscapes Cloudview verwenden 278
17.1.2 Tabellen erzeugen 280
17.1.3 Einträge erzeugen 281
17.2 Java Database Connectivity (JDBC) 283
17.2.1 JDBC-Treiber 285
17.2.2 Verbindungsaufbau zur Datenbank 287
17.2.3 Interaktion mit der Datenbank 287
17.2.4 Abfrageergebnisse ansehen 288
17.3 JSP-Interaktion mit einer Datenbank 289
17.3.1 JSP-Ausgabe von Datenbankinhalten 289
17.3.2 Datenbank-Update per JSP 291
17.4 Zusammenfassung 293
17.5 Fragen und Antworten 294
17.6 Workshop 296
18 Text ersetzen 297
18.1 Die include-Direktive verstehen 297
18.1.1 Die include-Direktive verwenden 298
18.2 Beispiele zur include-Direktive 299
18.2.1 Ein Textdokument einbinden 299
18.2.2 Eine andere JSP einbinden 302
18.2.3 Die einzubindende Datei fehlt 304
18.3 Zusammenfassung 306
18.4 Fragen und Antworten 307
18.5 Workshop 307
19 Tag-Bibliotheken 309
19.1 Tag-Bibliotheken verstehen 310
19.1.1 Die taglib-Direktive 310
19.2 Anwendungsbeispiele 312
19.2.1 Page-Hits verfolgen 312
19.2.2 session-Elemente auflisten 316
19.2.3 Benutzerdefiniertes Aktions-Tag mit Attributen 319
19.3 Zusammenfassung 323
19.4 Fragen und Antworten 323
19.5 Workshop 324
20 Anfragen mit mehreren JSPs bearbeiten 325
20.1 Das Anwendungsmodell mit Einbindung von Anfragen (Including Requests) 325
20.2 Rückblick auf JSP-Aktionen 326
20.2.1 Die include-Aktion 327
20.2.2 Unterschied include-Aktion/include-Direktive 327
20.3 Implementierung der include-Aktion 327
20.4 Das Anwendungsmodell mit der Weiterleitung von Anfragen (Forwarding Requests) 335
20.4.1 Die forward-Aktion 335
20.5 Implementierung der forward-Aktion 336
20.6 Zusammenfassung 345
20.7 Fragen und Antworten 346
20.8 Workshop 346
21 Eine Unternehmensanwendung programmieren 347
21.1 Aufbau der Unternehmensanwendung 347
21.2 Anforderungsanalyse 348
21.3 Aufbau der Anwendung 353
21.4 Zusammenfassung 355
21.5 Fragen und Antworten 356
21.6 Workshop 356
22 Die Präsentationsschicht 357
22.1 Die Anwendung aufbauen 357
22.1.1 Logo.html schreiben 358
22.1.2 SiteNavigator.html schreiben 359
22.1.3 Die Homepage schreiben 361
22.1.4 AusgabeSoziUnternehmen.jsp schreiben 364
22.1.5 Die JSP für die Unternehmensrichtlinien schreiben 367
22.1.6 Persönliche Mitarbeiterdaten 370
22.2 Zusammenfassung 378
22.3 Fragen und Antworten 379
22.4 Workshop 379
23 Die Businesslogik programmieren 381
23.1 Überblick 382
23.1.1 Neue Mitarbeiter hinzufügen 382
23.1.2 Mitarbeiterdaten ändern 392
23.2 Zusammenfassung 400
23.3 Fragen und Antworten 401
23.4 Workshop 401
24 Eine Unternehmensanwendung zusammenstellen und installieren 403
24.1 Was ist ein Webarchiv? 404
24.2 Die Verzeichnisstruktur für das Webarchiv einrichten 405
24.2.1 Änderungen an Ihren HTML- und JSP-Dateien 406
24.3 Den Deployment-Deskriptor schreiben 420
24.4 Die .war-Datei generieren 424
24.4.1 Die .war-Datei installieren 424
24.5 Anfragen an Ihre Anwendung ausführen 425
24.6 Zusammenfassung 426
24.7 Fragen und Antworten 426
24.8 Workshop 426
Anhang A: Lösungen zu den Testfragen 429
Anhang B: Inhalt der CD-ROM 441
Stichwortverzeichnis 443
Einleitung 17
Die AutorInnen 21
1 Einführung in Webanwendungen 23
1.1 Was sind JavaServer Pages? 24
1.2 Die Entwicklungsgeschichte des Webs 26
1.2.1 Das statische Web 26
1.2.2 Das Plug-In-Web 27
1.2.3 Das dynamische Web 31
1.2.4 Das Mehrschicht-Web 33
1.3 Die J2EE-Plattform 35
1.3.1 Wer entwickelte die J2EE-Spezifikation? 35
1.3.2 Was definiert die J2EE-Spezifikation? 35
1.3.3 Wem nützt die J2EE-Spezifikation? 35
1.3.4 Die Technologien der J2EE-Plattform 36
1.4 Was sind Applikationsserver? 38
1.4.1 Warum man einen Applikationsserver braucht 38
1.4.2 Was "J2EE-kompatibel" bedeutet 39
1.4.3 Hersteller von Applikationsservern 39
1.5 Zusammenfassung 40
1.6 Fragen und Antworten 41
1.7 Workshop 41
2 Ihre erste JavaServer Page 43
2.1 HTML im Überblick 43
2.2 JSPs im Vergleich mit CGI-Programmen 44
2.3 JSPs im Vergleich mit ASPs 45
2.4 Erzeugen Sie Ihre erste JSP 47
2.4.1 Apache Tomcat einrichten 47
2.4.2 Die JSP schreiben 52
2.4.3 Die JSP abspeichern 52
2.4.4 Die JSP mit einem Browser ansehen 53
2.5 Zusammenfassung 54
2.6 Fragen und Antworten 54
2.7 Workshop 55
3 Einführung in Servlets 57
3.1 Was ist ein Servlet? 57
3.2 Wie aus JSPs Servlets werden 58
3.2.1 Der JSP/Servlet-Lebenszyklus 59
3.2.2 Der JSP-Übersetzungsprozess 59
3.3 Die Grundstruktur eines HTTP-Servlets 60
3.3.1 Die Init-Methode 60
3.3.2 Die Service-Methode 61
3.3.3 Die doPost- und doGet-Methoden 61
3.4 Übersetzung einer JSP in ein Servlet 63
3.4.1 Eine einfache JSP schreiben 63
3.5 Zusammenfassung 67
3.6 Fragen und Antworten 67
3.7 Workshop 67
4 Applikationsserver-Konfiguration 69
4.1 Den WebLogic Server konfigurieren 69
4.1.1 Installation 70
4.1.2 Die Verzeichnisstruktur 71
4.1.3 Die Eigenschaften-Datei 72
4.1.4 Registrierung des JSPServlets 75
4.1.5 Die Initialisierungsparameter des JSPServlets 75
4.2 Eine JSP auf dem WLS laufen lassen 76
4.3 Zusammenfassung 77
4.4 Fragen und Antworten 77
4.5 Workshop 78
5 JSP-Anwendungsmodelle 79
5.1 Was sind JSP-Anwendungsmodelle? 79
5.2 Das einfache Modell 80
5.3 Das Mehrschicht-Modell 82
5.4 Das Modell mit lockerer Kopplung 83
5.5 Das Modell mit Einbindung von Anfragen 84
5.6 Das Modell mit Weiterleiten von Anfragen 86
5.7 Zusammenfassung 90
5.8 Fragen und Antworten 90
5.9 Workshop 90
6 JSP-Layouts 93
6.1 Tags und Attributwerte 93
6.1.1 Einzelne und paarweise Tags 94
6.1.2 Konfiguration von Tags mit Attributen 94
6.2 Kommentare 95
6.2.1 HTML-Kommentare 95
6.2.2 JSP-Kommentare 95
6.2.3 Java-Kommentare 96
6.3 Bestandteile einer JSP 97
6.3.1 HTML-Code schreiben 97
6.3.2 JSP-Tag-Elemente 97
6.3.3 JSP-Deklarations-Tags 98
6.3.4 JSP-Ausdrucks-Tags 99
6.3.5 JSP-Scriptlet-Tags 99
6.3.6 JSP-Direktiven-Tags deklarieren 101
6.3.7 JSP-Aktions-Tags deklarieren 101
6.4 Implizite JSP-Objekte 102
6.4.1 Das Request-Objekt 102
6.4.2 Das Response-Objekt 102
6.4.3 Das Session-Objekt 102
6.4.4 Das Config-Objekt 103
6.4.5 Überblick über die anderen impliziten Objekte 103
6.5 JSPs und JavaBeans 103
6.5.1 Warum JavaBeans? 104
6.5.2 Die JavaBean-Spezifikation 104
6.5.3 Instanziierung einer JavaBean 105
6.5.4 Die Tags setProperty und getProperty 105
6.5.5 Ein kurzes Beispiel zu JavaBeans 105
6.6 Zusammenfassung 106
6.7 Fragen und Antworten 106
6.8 Workshop 107
7 Variablen und Methoden in JSPs 109
7.1 Tags zur Deklaration 109
7.2 Deklaration von Variablen 110
7.2.1 Datentypen 111
7.2.2 Initialisierung von Variablen 113
7.2.3 Deklaration von Arrays und anderen Collections 114
7.3 Deklaration von Methoden 117
7.3.1 Methodenaufruf 118
7.3.2 Methodenüberladung 121
7.4 Zusammenfassung 122
7.5 Fragen und Antworten 123
7.6 Workshop 124
8 Java-Ausdrücke in JSPs 127
8.1 JSP-Ausdrucks-Tags 128
8.2 JSP-Ausdruck als Variablen-Referenz 128
8.2.1 Überschreiben der toString()-Methode 130
8.3 Methodenaufruf aus einem Ausdruck 132
8.3.1 Lokaler Methodenaufruf 132
8.3.2 Aufruf einer Methode eines Objekts 134
8.4 Zusammenfassung 136
8.5 Frage und Antwort 136
8.6 Workshop 137
9 JSP-Steuerung mit Java Scriptlets 139
9.1 Scriptlets 140
9.2 Entscheidungsstrukturen 140
9.2.1 Die If-Abfrage 140
9.2.2 Die Switch-Abfrage 143
9.2.3 Der Break-Befehl 145
9.3 Schleifenstrukturen 146
9.3.1 Die for-Schleife 147
9.3.2 Die while-Schleife 149
9.3.3 Der Continue-Befehl 151
9.3.4 Die do/while-Schleife 153
9.4 Zusammenfassung 156
9.5 Workshop 156
10 Anfragen verarbeiten 157
10.1 Anfragen verstehen 158
10.2 Anfragen erzeugen 159
10.2.1 Der Aufbau einer URL 159
10.2.2 Anfragen über einen Hyperlink 160
10.3 Pfad- und URL-Informationen 161
10.4 Host- und Port-Informationen 162
10.5 Analyse der Parameter im Abfrage-String 164
10.6 HTML-Formulare 166
10.6.1 Ein Beispiel: Kreditkartenformular 168
10.7 Zusammenfassung 171
10.8 Fragen und Antworten 172
10.9 Workshop 173
11 Die dynamische Antwort 175
11.1 Dynamische Inhalte erzeugen 175
11.1.1 Dynamische Überschriften 176
11.1.2 Dynamische Tabellen 177
11.1.3 Dynamische Formulare 180
11.2 Eine konfigurierbare Homepage 183
11.3 Zusammenfassung 188
11.4 Frage und Antwort 188
11.5 Workshop 188
12 Anwender-Sitzungen verfolgen 191
12.1 HTTP als zustandsloses Protokoll 191
12.2 Speichern und Einlesen von Cookies 193
12.3 Anwender-Sitzungen 196
12.4 URL-Kodierung 203
12.5 Zusammenfassung 206
12.6 Fragen und Antworten 206
12.7 Workshop 206
13 Konfiguration von JSPs 209
13.1 Registrierung und Initialisierung 209
13.2 Ausgabe aller Initialisierungsparameter 210
13.3 JSPs zu Servlets kompilieren 212
13.4 Registrierung im Applikationsserver 214
13.5 Das Config-Objekt 215
13.6 Das ServletContext-Objekt 217
13.7 Zusammenfassung 218
13.8 Fragen und Antworten 218
13.9 Workshop 219
14 Fehlerbehandlung 221
14.1 Fehler verstehen 221
14.1.1 Exception- und Throwable-Klassen 222
14.1.2 Stack Trace 224
14.1.3 Exceptions auffangen 225
14.2 Exceptions verarbeiten 225
14.2.1 Benutzerdefinierte Exceptions 226
14.2.2 Exceptions in einer JSP werfen 227
14.2.3 Exceptions in einer JSP auffangen 229
14.2.4 Exceptions aus Java-Klassen in JSPs auffangen 231
14.3 Fehlerseiten 232
14.3.1 Aufsetzen der Fehlerseite 233
14.3.2 Das implizite Exception-Objekt 235
14.4 Zusammenfassung 238
14.5 Fragen und Antworten 238
14.6 Workshop 239
15 Java-Applets 241
15.1 Syntax des JSP-Aktions-Tags 242
15.2 Die Plugin-Aktion 242
15.3 Initialisierung der Applet-Parameter 246
15.4 Alle Teile der Plugin-Aktion nutzen 250
15.5 Zusammenfassung 255
15.6 Fragen und Antworten 256
15.7 Workshop 256
16 JavaBeans in JSPs 257
16.1 JavaBeans verstehen 257
16.2 Ein Beispiel: Mitarbeiter-Java-Bean 259
16.3 Geltungsbereich von JavaBeans 263
16.4 Ein Beispiel: Einkaufswagen-JavaBean 264
16.5 JavaBean-Eigenschaften 269
16.6 Formulare mit JavaBeans auswerten 271
16.7 Zusammenfassung 274
16.8 Fragen und Antworten 274
16.9 Workshop 275
17 Zugriff auf Datenbanken 277
17.1 Erstellung einer Datenbank 278
17.1.1 Cloudscapes Cloudview verwenden 278
17.1.2 Tabellen erzeugen 280
17.1.3 Einträge erzeugen 281
17.2 Java Database Connectivity (JDBC) 283
17.2.1 JDBC-Treiber 285
17.2.2 Verbindungsaufbau zur Datenbank 287
17.2.3 Interaktion mit der Datenbank 287
17.2.4 Abfrageergebnisse ansehen 288
17.3 JSP-Interaktion mit einer Datenbank 289
17.3.1 JSP-Ausgabe von Datenbankinhalten 289
17.3.2 Datenbank-Update per JSP 291
17.4 Zusammenfassung 293
17.5 Fragen und Antworten 294
17.6 Workshop 296
18 Text ersetzen 297
18.1 Die include-Direktive verstehen 297
18.1.1 Die include-Direktive verwenden 298
18.2 Beispiele zur include-Direktive 299
18.2.1 Ein Textdokument einbinden 299
18.2.2 Eine andere JSP einbinden 302
18.2.3 Die einzubindende Datei fehlt 304
18.3 Zusammenfassung 306
18.4 Fragen und Antworten 307
18.5 Workshop 307
19 Tag-Bibliotheken 309
19.1 Tag-Bibliotheken verstehen 310
19.1.1 Die taglib-Direktive 310
19.2 Anwendungsbeispiele 312
19.2.1 Page-Hits verfolgen 312
19.2.2 session-Elemente auflisten 316
19.2.3 Benutzerdefiniertes Aktions-Tag mit Attributen 319
19.3 Zusammenfassung 323
19.4 Fragen und Antworten 323
19.5 Workshop 324
20 Anfragen mit mehreren JSPs bearbeiten 325
20.1 Das Anwendungsmodell mit Einbindung von Anfragen (Including Requests) 325
20.2 Rückblick auf JSP-Aktionen 326
20.2.1 Die include-Aktion 327
20.2.2 Unterschied include-Aktion/include-Direktive 327
20.3 Implementierung der include-Aktion 327
20.4 Das Anwendungsmodell mit der Weiterleitung von Anfragen (Forwarding Requests) 335
20.4.1 Die forward-Aktion 335
20.5 Implementierung der forward-Aktion 336
20.6 Zusammenfassung 345
20.7 Fragen und Antworten 346
20.8 Workshop 346
21 Eine Unternehmensanwendung programmieren 347
21.1 Aufbau der Unternehmensanwendung 347
21.2 Anforderungsanalyse 348
21.3 Aufbau der Anwendung 353
21.4 Zusammenfassung 355
21.5 Fragen und Antworten 356
21.6 Workshop 356
22 Die Präsentationsschicht 357
22.1 Die Anwendung aufbauen 357
22.1.1 Logo.html schreiben 358
22.1.2 SiteNavigator.html schreiben 359
22.1.3 Die Homepage schreiben 361
22.1.4 AusgabeSoziUnternehmen.jsp schreiben 364
22.1.5 Die JSP für die Unternehmensrichtlinien schreiben 367
22.1.6 Persönliche Mitarbeiterdaten 370
22.2 Zusammenfassung 378
22.3 Fragen und Antworten 379
22.4 Workshop 379
23 Die Businesslogik programmieren 381
23.1 Überblick 382
23.1.1 Neue Mitarbeiter hinzufügen 382
23.1.2 Mitarbeiterdaten ändern 392
23.2 Zusammenfassung 400
23.3 Fragen und Antworten 401
23.4 Workshop 401
24 Eine Unternehmensanwendung zusammenstellen und installieren 403
24.1 Was ist ein Webarchiv? 404
24.2 Die Verzeichnisstruktur für das Webarchiv einrichten 405
24.2.1 Änderungen an Ihren HTML- und JSP-Dateien 406
24.3 Den Deployment-Deskriptor schreiben 420
24.4 Die .war-Datei generieren 424
24.4.1 Die .war-Datei installieren 424
24.5 Anfragen an Ihre Anwendung ausführen 425
24.6 Zusammenfassung 426
24.7 Fragen und Antworten 426
24.8 Workshop 426
Anhang A: Lösungen zu den Testfragen 429
Anhang B: Inhalt der CD-ROM 441
Stichwortverzeichnis 443
Die AutorInnen 21
1 Einführung in Webanwendungen 23
1.1 Was sind JavaServer Pages? 24
1.2 Die Entwicklungsgeschichte des Webs 26
1.2.1 Das statische Web 26
1.2.2 Das Plug-In-Web 27
1.2.3 Das dynamische Web 31
1.2.4 Das Mehrschicht-Web 33
1.3 Die J2EE-Plattform 35
1.3.1 Wer entwickelte die J2EE-Spezifikation? 35
1.3.2 Was definiert die J2EE-Spezifikation? 35
1.3.3 Wem nützt die J2EE-Spezifikation? 35
1.3.4 Die Technologien der J2EE-Plattform 36
1.4 Was sind Applikationsserver? 38
1.4.1 Warum man einen Applikationsserver braucht 38
1.4.2 Was "J2EE-kompatibel" bedeutet 39
1.4.3 Hersteller von Applikationsservern 39
1.5 Zusammenfassung 40
1.6 Fragen und Antworten 41
1.7 Workshop 41
2 Ihre erste JavaServer Page 43
2.1 HTML im Überblick 43
2.2 JSPs im Vergleich mit CGI-Programmen 44
2.3 JSPs im Vergleich mit ASPs 45
2.4 Erzeugen Sie Ihre erste JSP 47
2.4.1 Apache Tomcat einrichten 47
2.4.2 Die JSP schreiben 52
2.4.3 Die JSP abspeichern 52
2.4.4 Die JSP mit einem Browser ansehen 53
2.5 Zusammenfassung 54
2.6 Fragen und Antworten 54
2.7 Workshop 55
3 Einführung in Servlets 57
3.1 Was ist ein Servlet? 57
3.2 Wie aus JSPs Servlets werden 58
3.2.1 Der JSP/Servlet-Lebenszyklus 59
3.2.2 Der JSP-Übersetzungsprozess 59
3.3 Die Grundstruktur eines HTTP-Servlets 60
3.3.1 Die Init-Methode 60
3.3.2 Die Service-Methode 61
3.3.3 Die doPost- und doGet-Methoden 61
3.4 Übersetzung einer JSP in ein Servlet 63
3.4.1 Eine einfache JSP schreiben 63
3.5 Zusammenfassung 67
3.6 Fragen und Antworten 67
3.7 Workshop 67
4 Applikationsserver-Konfiguration 69
4.1 Den WebLogic Server konfigurieren 69
4.1.1 Installation 70
4.1.2 Die Verzeichnisstruktur 71
4.1.3 Die Eigenschaften-Datei 72
4.1.4 Registrierung des JSPServlets 75
4.1.5 Die Initialisierungsparameter des JSPServlets 75
4.2 Eine JSP auf dem WLS laufen lassen 76
4.3 Zusammenfassung 77
4.4 Fragen und Antworten 77
4.5 Workshop 78
5 JSP-Anwendungsmodelle 79
5.1 Was sind JSP-Anwendungsmodelle? 79
5.2 Das einfache Modell 80
5.3 Das Mehrschicht-Modell 82
5.4 Das Modell mit lockerer Kopplung 83
5.5 Das Modell mit Einbindung von Anfragen 84
5.6 Das Modell mit Weiterleiten von Anfragen 86
5.7 Zusammenfassung 90
5.8 Fragen und Antworten 90
5.9 Workshop 90
6 JSP-Layouts 93
6.1 Tags und Attributwerte 93
6.1.1 Einzelne und paarweise Tags 94
6.1.2 Konfiguration von Tags mit Attributen 94
6.2 Kommentare 95
6.2.1 HTML-Kommentare 95
6.2.2 JSP-Kommentare 95
6.2.3 Java-Kommentare 96
6.3 Bestandteile einer JSP 97
6.3.1 HTML-Code schreiben 97
6.3.2 JSP-Tag-Elemente 97
6.3.3 JSP-Deklarations-Tags 98
6.3.4 JSP-Ausdrucks-Tags 99
6.3.5 JSP-Scriptlet-Tags 99
6.3.6 JSP-Direktiven-Tags deklarieren 101
6.3.7 JSP-Aktions-Tags deklarieren 101
6.4 Implizite JSP-Objekte 102
6.4.1 Das Request-Objekt 102
6.4.2 Das Response-Objekt 102
6.4.3 Das Session-Objekt 102
6.4.4 Das Config-Objekt 103
6.4.5 Überblick über die anderen impliziten Objekte 103
6.5 JSPs und JavaBeans 103
6.5.1 Warum JavaBeans? 104
6.5.2 Die JavaBean-Spezifikation 104
6.5.3 Instanziierung einer JavaBean 105
6.5.4 Die Tags setProperty und getProperty 105
6.5.5 Ein kurzes Beispiel zu JavaBeans 105
6.6 Zusammenfassung 106
6.7 Fragen und Antworten 106
6.8 Workshop 107
7 Variablen und Methoden in JSPs 109
7.1 Tags zur Deklaration 109
7.2 Deklaration von Variablen 110
7.2.1 Datentypen 111
7.2.2 Initialisierung von Variablen 113
7.2.3 Deklaration von Arrays und anderen Collections 114
7.3 Deklaration von Methoden 117
7.3.1 Methodenaufruf 118
7.3.2 Methodenüberladung 121
7.4 Zusammenfassung 122
7.5 Fragen und Antworten 123
7.6 Workshop 124
8 Java-Ausdrücke in JSPs 127
8.1 JSP-Ausdrucks-Tags 128
8.2 JSP-Ausdruck als Variablen-Referenz 128
8.2.1 Überschreiben der toString()-Methode 130
8.3 Methodenaufruf aus einem Ausdruck 132
8.3.1 Lokaler Methodenaufruf 132
8.3.2 Aufruf einer Methode eines Objekts 134
8.4 Zusammenfassung 136
8.5 Frage und Antwort 136
8.6 Workshop 137
9 JSP-Steuerung mit Java Scriptlets 139
9.1 Scriptlets 140
9.2 Entscheidungsstrukturen 140
9.2.1 Die If-Abfrage 140
9.2.2 Die Switch-Abfrage 143
9.2.3 Der Break-Befehl 145
9.3 Schleifenstrukturen 146
9.3.1 Die for-Schleife 147
9.3.2 Die while-Schleife 149
9.3.3 Der Continue-Befehl 151
9.3.4 Die do/while-Schleife 153
9.4 Zusammenfassung 156
9.5 Workshop 156
10 Anfragen verarbeiten 157
10.1 Anfragen verstehen 158
10.2 Anfragen erzeugen 159
10.2.1 Der Aufbau einer URL 159
10.2.2 Anfragen über einen Hyperlink 160
10.3 Pfad- und URL-Informationen 161
10.4 Host- und Port-Informationen 162
10.5 Analyse der Parameter im Abfrage-String 164
10.6 HTML-Formulare 166
10.6.1 Ein Beispiel: Kreditkartenformular 168
10.7 Zusammenfassung 171
10.8 Fragen und Antworten 172
10.9 Workshop 173
11 Die dynamische Antwort 175
11.1 Dynamische Inhalte erzeugen 175
11.1.1 Dynamische Überschriften 176
11.1.2 Dynamische Tabellen 177
11.1.3 Dynamische Formulare 180
11.2 Eine konfigurierbare Homepage 183
11.3 Zusammenfassung 188
11.4 Frage und Antwort 188
11.5 Workshop 188
12 Anwender-Sitzungen verfolgen 191
12.1 HTTP als zustandsloses Protokoll 191
12.2 Speichern und Einlesen von Cookies 193
12.3 Anwender-Sitzungen 196
12.4 URL-Kodierung 203
12.5 Zusammenfassung 206
12.6 Fragen und Antworten 206
12.7 Workshop 206
13 Konfiguration von JSPs 209
13.1 Registrierung und Initialisierung 209
13.2 Ausgabe aller Initialisierungsparameter 210
13.3 JSPs zu Servlets kompilieren 212
13.4 Registrierung im Applikationsserver 214
13.5 Das Config-Objekt 215
13.6 Das ServletContext-Objekt 217
13.7 Zusammenfassung 218
13.8 Fragen und Antworten 218
13.9 Workshop 219
14 Fehlerbehandlung 221
14.1 Fehler verstehen 221
14.1.1 Exception- und Throwable-Klassen 222
14.1.2 Stack Trace 224
14.1.3 Exceptions auffangen 225
14.2 Exceptions verarbeiten 225
14.2.1 Benutzerdefinierte Exceptions 226
14.2.2 Exceptions in einer JSP werfen 227
14.2.3 Exceptions in einer JSP auffangen 229
14.2.4 Exceptions aus Java-Klassen in JSPs auffangen 231
14.3 Fehlerseiten 232
14.3.1 Aufsetzen der Fehlerseite 233
14.3.2 Das implizite Exception-Objekt 235
14.4 Zusammenfassung 238
14.5 Fragen und Antworten 238
14.6 Workshop 239
15 Java-Applets 241
15.1 Syntax des JSP-Aktions-Tags 242
15.2 Die Plugin-Aktion 242
15.3 Initialisierung der Applet-Parameter 246
15.4 Alle Teile der Plugin-Aktion nutzen 250
15.5 Zusammenfassung 255
15.6 Fragen und Antworten 256
15.7 Workshop 256
16 JavaBeans in JSPs 257
16.1 JavaBeans verstehen 257
16.2 Ein Beispiel: Mitarbeiter-Java-Bean 259
16.3 Geltungsbereich von JavaBeans 263
16.4 Ein Beispiel: Einkaufswagen-JavaBean 264
16.5 JavaBean-Eigenschaften 269
16.6 Formulare mit JavaBeans auswerten 271
16.7 Zusammenfassung 274
16.8 Fragen und Antworten 274
16.9 Workshop 275
17 Zugriff auf Datenbanken 277
17.1 Erstellung einer Datenbank 278
17.1.1 Cloudscapes Cloudview verwenden 278
17.1.2 Tabellen erzeugen 280
17.1.3 Einträge erzeugen 281
17.2 Java Database Connectivity (JDBC) 283
17.2.1 JDBC-Treiber 285
17.2.2 Verbindungsaufbau zur Datenbank 287
17.2.3 Interaktion mit der Datenbank 287
17.2.4 Abfrageergebnisse ansehen 288
17.3 JSP-Interaktion mit einer Datenbank 289
17.3.1 JSP-Ausgabe von Datenbankinhalten 289
17.3.2 Datenbank-Update per JSP 291
17.4 Zusammenfassung 293
17.5 Fragen und Antworten 294
17.6 Workshop 296
18 Text ersetzen 297
18.1 Die include-Direktive verstehen 297
18.1.1 Die include-Direktive verwenden 298
18.2 Beispiele zur include-Direktive 299
18.2.1 Ein Textdokument einbinden 299
18.2.2 Eine andere JSP einbinden 302
18.2.3 Die einzubindende Datei fehlt 304
18.3 Zusammenfassung 306
18.4 Fragen und Antworten 307
18.5 Workshop 307
19 Tag-Bibliotheken 309
19.1 Tag-Bibliotheken verstehen 310
19.1.1 Die taglib-Direktive 310
19.2 Anwendungsbeispiele 312
19.2.1 Page-Hits verfolgen 312
19.2.2 session-Elemente auflisten 316
19.2.3 Benutzerdefiniertes Aktions-Tag mit Attributen 319
19.3 Zusammenfassung 323
19.4 Fragen und Antworten 323
19.5 Workshop 324
20 Anfragen mit mehreren JSPs bearbeiten 325
20.1 Das Anwendungsmodell mit Einbindung von Anfragen (Including Requests) 325
20.2 Rückblick auf JSP-Aktionen 326
20.2.1 Die include-Aktion 327
20.2.2 Unterschied include-Aktion/include-Direktive 327
20.3 Implementierung der include-Aktion 327
20.4 Das Anwendungsmodell mit der Weiterleitung von Anfragen (Forwarding Requests) 335
20.4.1 Die forward-Aktion 335
20.5 Implementierung der forward-Aktion 336
20.6 Zusammenfassung 345
20.7 Fragen und Antworten 346
20.8 Workshop 346
21 Eine Unternehmensanwendung programmieren 347
21.1 Aufbau der Unternehmensanwendung 347
21.2 Anforderungsanalyse 348
21.3 Aufbau der Anwendung 353
21.4 Zusammenfassung 355
21.5 Fragen und Antworten 356
21.6 Workshop 356
22 Die Präsentationsschicht 357
22.1 Die Anwendung aufbauen 357
22.1.1 Logo.html schreiben 358
22.1.2 SiteNavigator.html schreiben 359
22.1.3 Die Homepage schreiben 361
22.1.4 AusgabeSoziUnternehmen.jsp schreiben 364
22.1.5 Die JSP für die Unternehmensrichtlinien schreiben 367
22.1.6 Persönliche Mitarbeiterdaten 370
22.2 Zusammenfassung 378
22.3 Fragen und Antworten 379
22.4 Workshop 379
23 Die Businesslogik programmieren 381
23.1 Überblick 382
23.1.1 Neue Mitarbeiter hinzufügen 382
23.1.2 Mitarbeiterdaten ändern 392
23.2 Zusammenfassung 400
23.3 Fragen und Antworten 401
23.4 Workshop 401
24 Eine Unternehmensanwendung zusammenstellen und installieren 403
24.1 Was ist ein Webarchiv? 404
24.2 Die Verzeichnisstruktur für das Webarchiv einrichten 405
24.2.1 Änderungen an Ihren HTML- und JSP-Dateien 406
24.3 Den Deployment-Deskriptor schreiben 420
24.4 Die .war-Datei generieren 424
24.4.1 Die .war-Datei installieren 424
24.5 Anfragen an Ihre Anwendung ausführen 425
24.6 Zusammenfassung 426
24.7 Fragen und Antworten 426
24.8 Workshop 426
Anhang A: Lösungen zu den Testfragen 429
Anhang B: Inhalt der CD-ROM 441
Stichwortverzeichnis 443
