Seminar „Java EE 8 – Webanwendungen mit Java Server Faces (JSF)“

Neuen Untertitel eingeben

Beschreibung

Dieses Seminar führt in die aktuelle Standard-Technologie für JavaEE-Webanwendungen ein: Java Server Faces (JSF) ist ein leistungsfähiges Framework zur serverseitigen Entwicklung von Webanwendungen. Im Rahmen dieser Schulung werden nicht nur die grundlegenden Konzepte wie z.B. JSF-Architektur und JSF-Lebenszyklus, Navigation in der Anwendung, Konvertierung von Daten und Validierung von Benutzereingaben praktisch erarbeitet. Auch fortgeschrittene Themen wie AJAX-Kommunikation werden behandelt. Das Programm wird abgerundet durch einen Überblick über die Java Enterprise Edition (JavaEE ) als Ganzes und zur Arbeitsweise von Java Enterprise Application Server  und Web-Container. Im Rahmen eines begleitenden Praxisprojekts wird auch auf aktuelle zusätzliche Komponenten-Bibliotheken wie z.B. Primefaces eingegangen.

Die Schulung wird mit der jeweils aktuellen Version des JSF-Frameworks durchgeführt. Details zur eingesetzten Server-Plattform (Glassfish, Tomcat, WildFly etc.), Entwicklungsumgebung oder abweichenden Versionen können individuell abgesprochen werden.

Zielgruppe

Java-EntwicklerInnen, Java-WebentwicklerInnen, ArchitektInnen

Voraussetzungen

Praxiserfahrung in Java ist notwendig. Grundkenntnisse in den Web-Frontend-Technologien HTML, JavaScript und CSS sind hilfreich, aber nicht zwingend erforderlich. Vorkenntnisse zu JavaEE sind hilfreich, aber nicht notwendig.

Empfohlene Schulungsdauer

4 – 5 Tage

Schulungsunterlagen

Literatur nach Absprache, plus Präsentationsfolien und Beispiel-Quellcode.

Inhalt

Überblick und technologische Einordnung

  • Konzepte der Java Enterprise Edition (Java EE)
  • Java Enterprise Application Server und Webcontainer
  • Warum Java Server Faces (JSF)?
  • Überblick: Von JSF 1.0 bis zu JSF 2.3

Grundlagen

  • Model-View-Controller-Architektur (MVC)
  • Das JSF-Komponenten-Modell
  • JSF-Lebenszyklus und Phasenkonzept
  • HTTP-Anfrageverarbeitung in JSF
  • Facelets und JSF-Standard-Tags

Managed Beans

  • Konzept und Implementierung von Managed Beans
  • Lebenszyklus und Konfiguration von Managed Beans
  • Managed Properties
  • Backing Beans und Controller Beans

Unified Expression Language

  • Syntax und Einsatzmöglichkeiten
  • Value Expressions und Method Expressions
  • Erweiterungen

Navigation in JSF-Anwendungen

  • Grundlegendes zu GET- und POST-Requests
  • Navigation mit Links und Commands
  • Navigation Rules

Ereignisbehandlung

  • Action-Events
  • Value-Change-Events
  • Phase-Events
  • System-Events

Datenkonvertierung

  • Konzept und API
  • Standard-Konverter
  • Implementierung eigener Konverter

Validierung

  • JSF-Validierung mit Standard-Validatoren
  • Implementierung eigener Validator-Methoden
  • Bean Validation nach JSR-303 in JSF
  • Ausgabe von Validierungsfehlern (JSF-Messages)

Context- und Dependency-Injection (CDI) nach JSR-330 in JSF

  • Managed Beans mit CDI
  • Benutzerdefinierte Qualifizierer
  • Producer-Methoden

Internationalisierung und Lokalisierung – I18n & L10n

  • Konfiguration und Zugriff auf Resource-Bundles
  • Konfiguration und Zugriff auf Message-Bundles
  • Standard-Locale und verfügbare Locales
  • Automatische und explizite Lokalisierung

Ressourcen-Verwaltung und Templating mit JSF

  • Einbindung von Bild-, Style- und Script-Ressourcen
  • Ressourcen-Bibliotheken
  • Versionierung von Ressourcen
  • JSF-Templating: Layout und Ressourcen wiederverwendbar implementieren
  • Austauschbare und lokalisierbare Templates mit Resource-Library-Contracts

JSF-Komponenten

  • Composite Components
  • Tag Libraries
  • Custom Components

AJAX und JSF

  • AJAX als Kommunikationsmodell
  • Client-seite JavaScript-Implementierung
  • Serverseitige Verarbeitung von AJAX-Requests
  • Praktischer Einsatz von AJAX in JSF-Anwendungen

Erweiterungen und Ausblicke

  • JSF und HTML5
  • JSF und EJBs
  • Alternatives Navigationsmodell: Faces Flows
  • Aktuelle Komponenten-Bibliotheken