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

Grundlagen-Seminar

Beschreibung

Dieses Seminar führt speziell auf Basis der Version Java EE 7 in die aktuelle Standard-Technologie für JavaEE-Webanwendungen ein. Für die aktuelle Version Java EE 8 finden Sie das passende Seminar unter „Java EE 8 – Webanwendungen mit Java Server Faces (JSF)“.

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.

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