Ein praxisorientiertes Lehrbuch zu Java EE 8/Jakarta EE und zugleich ein Standardwerk, das Sie auf Ihrem Weg zum Enterprise-Entwickler begleitet. Inklusive Best Practices für leichtgewichtige Enterprise Applications, Standards zu servicebasierten Anwendungen, Persistence API, Java Server Faces, JSON-B, JSON-P, JAX-RS, JAX-WS u. v. m.
Aus dem Inhalt:
Java EE: Überblick und Software-Architektur
Konfiguration und Monitoring eines Java EE-Servers
Planung und Entwurf mit Scrum und AMDD/XP
Low-Level Technologien: Servlets, JSP, JSTL, EL und JDBC
HTTP2 und WebSockets
Die Oracle-Datenbank
Java Persistence API
Java Server Faces
Bean Validation
Context and Dependency Injection (CDI)
Enterprise Java Beans (EJB)
Java Messaging Service (JMS)
Web Services mit REST und SOAP
JSON-P
JSON-B
Maven
Die Fachpresse zur Vorauflage:
c't: »Salvanos Buch stellt eine Art Reiseführer durch den API-Dschungel dar. «
Inhaltsverzeichnis
Geleitwort . . . 21
Über dieses Buch . . . 22
1. Überblick . . . 29
1. 1 . . . Einführung . . . 29
1. 2 . . . Der Java EE 8-Standard . . . 32
1. 3 . . . Anwendungsszenarien . . . 38
1. 4 . . . Der mehrschichtige Aufbau einer Java EE-Anwendung . . . 44
1. 5 . . . Die Evolution von HTTP/2 und WebSockets . . . 48
1. 6 . . . Die Technologien des Java EE 8-Standards . . . 57
1. 7 . . . Los geht' s mit der Praxis . . . 77
2. Die Entwicklungsumgebung . . . 79
2. 1 . . . Das JDK installieren . . . 79
2. 2 . . . Der Java EE-Server GlassFish 5 . . . 80
2. 3 . . . Exkurs: UTF-8 . . . 104
2. 4 . . . Eine Java EE-Anwendung deployen . . . 109
2. 5 . . . Das Logging . . . 118
2. 6 . . . Das Monitoring . . . 121
2. 7 . . . Eclipse einsetzen . . . 126
2. 8 . . . Maven . . . 149
3. Planung und Entwurf . . . 175
3. 1 . . . Die Projektplanung mit Scrum . . . 176
3. 2 . . . Die Datentypen für den Entwurf . . . 184
3. 3 . . . Das User-Story-Diagramm . . . 190
3. 4 . . . Die UI-Prototypen . . . 200
3. 5 . . . Das HTTP-Monitoring . . . 216
4. Servlet 4. 0 . . . 227
4. 1 . . . Einführung . . . 228
4. 2 . . . Ein technischer Überblick . . . 232
4. 3 . . . Die Servlet-API . . . 240
4. 4 . . . HTTP-Sitzungen . . . 259
4. 5 . . . Initialisierung und Konfiguration . . . 274
4. 6 . . . Dateien hochladen . . . 285
4. 7 . . . Asynchrone Servlets . . . 295
4. 8 . . . Nonblocking I/O . . . 303
4. 9 . . . Webfilter . . . 306
4. 10 . . . WebListener . . . 321
4. 11 . . . Der Server-Push . . . 324
5. Java Server Pages . . . 329
5. 1 . . . Grundlagen . . . 329
5. 2 . . . Direktiven . . . 334
5. 3 . . . Skripting . . . 343
5. 4 . . . Aktionselemente . . . 350
5. 5 . . . JSP Custom Tags . . . 366
5. 6 . . . JSP-EL . . . 374
5. 7 . . . Die Java Standard Tag Library . . . 385
6. Die relationale Datenbank . . . 411
6. 1 . . . Die Einrichtung der Oracle Database . . . 412
6. 2 . . . Die Organisation der Oracle Database . . . 426
6. 3 . . . Performance-Tuning für die Java EE-Anwendung . . . 433
6. 4 . . . Die Erstellung der Datenbanktabellen . . . 435
6. 5 . . . Die Indizierung . . . 465
6. 6 . . . Das komplette Onlineshop-Beispiel . . . 466
7. JDBC . . . 469
7. 1 . . . Der direkte Zugriff per JDBC . . . 469
7. 2 . . . Der Zugriff über den Java EE Server . . . 483
7. 3 . . . Die Kernfunktionalität der JDBC-API . . . 493
7. 4 . . . Geschäftsdaten speichern . . . 497
7. 5 . . . Geschäftsdaten abfragen . . . 503
7. 6 . . . Das objektrelationale Mapping . . . 508
7. 7 . . . Vorbereitete SQL-Anweisungen . . . 517
7. 8 . . . Binärdaten . . . 527
7. 9 . . . Den Onlineshop fertigstellen . . . 550
8. Die Java Persistence API . . . 555
8. 1 . . . Schritt 1: Die zentrale Konfigurationsdatei . . . 559
8. 2 . . . Schritt 2: JPA-Entities erstellen . . . 564
8. 3 . . . Schritt 3: Primärschlüssel definieren . . . 576
8. 4 . . . Schritt 4: singuläre Attribute konfigurieren . . . 590
8. 5 . . . Schritt 5: Assoziationen anfertigen . . . 594
8. 6 . . . Schritt 6: den EntityManager einsetzen . . . 617
8. 7 . . . Programmierbeispiel: ein JPA-Projekt erzeugen . . . 631
8. 8 . . . Programmierbeispiel: ORM-Reverse-Engineering . . . 641
8. 9 . . . Programmierbeispiel: die Registrierung im Webprojekt . . . 651
8. 10 . . . JPQL Grundlagen . . . 685
8. 11 . . . Programmierbeispiel: das Einloggen im Webprojekt . . . 693
8. 12 . . . JPQL - Vertiefung . . . 694
8. 13 . . . Die Criteria-API . . . 714
8. 14 . . . Fortgeschrittene Themen . . . 723
9. Java Server Faces . . . 757
9. 1 . . . Ein erstes Beispiel . . . 760
9. 2 . . . Ein Durchstich mit JSF und JPA . . . 769
9. 3 . . . Die implizite Navigation . . . 789
9. 4 . . . Die explizite Navigation . . . 798
9. 5 . . . JSF-Grundkenntnisse . . . 803
9. 6 . . . Meldungen . . . 815
9. 7 . . . Internationalisierung . . . 829
9. 8 . . . Die Validierung . . . 834
9. 9 . . . Die Konvertierung . . . 846
9. 10 . . . Templating . . . 851
9. 11 . . . CSS und Ressourcen . . . 890
9. 12 . . . Konversationen . . . 898
9. 13 . . . Faces Flows . . . 909
9. 14 . . . Events und Listener . . . 924
9. 15 . . . Ajax einsetzen . . . 938
9. 16 . . . HTML5-friendly Markup . . . 950
10. Enterprise JavaBeans . . . 953
10. 1 . . . Session-Bean-Grundlagen . . . 953
10. 2 . . . Programmierbeispiel: EJB und Standalone-Client . . . 966
10. 3 . . . Programmierbeispiel: EJB, JSF und JPA . . . 985
10. 4 . . . Transaktionen . . . 995
10. 5 . . . Unterschiedliche Session-Bean-Typen . . . 1002
10. 6 . . . Asynchrone Business-Methoden . . . 1015
10. 7 . . . JMS und Message-driven Beans . . . 1019
10. 8 . . . Der Timer-Service . . . 1089
11. Webservices und JSON . . . 1099
11. 1 . . . JSON-P . . . 1100
11. 2 . . . JSON-B . . . 1126
11. 3 . . . JAX-WS . . . 1139
11. 4 . . . JAX-RS . . . 1166
Index . . . 1191