1. Einführung
1.1. Übersicht
Die PDF-Nummer dieses Dokuments lautet |HIER|.
Die Beispiele in diesem Dokument sind unter |HIER| verfügbar.
Wir möchten hier anhand von Beispielen
- das Java Server Faces 2-Framework (JSF2)
- die Komponentenbibliothek PrimeFaces für JSF2 für Desktop- und mobile Anwendungen vorzustellen.
Dieses Dokument richtet sich in erster Linie an Studierende und Entwickler, die sich für die Komponentenbibliothek PrimeFaces [http://www.primefaces.org] interessieren. Dieses Framework bietet mehrere Dutzend AJAX-fähige Komponenten [http://www.primefaces.org/showcase/ui/home.jsf], mit denen sich Webanwendungen erstellen lassen, deren Erscheinungsbild und Verhalten denen von Desktop-Anwendungen ähneln. PrimeFaces basiert auf JSF2, weshalb zunächst dieses Framework vorgestellt werden muss. PrimeFaces bietet darüber hinaus spezielle Komponenten für mobile Geräte an. Auch diese werden wir vorstellen.
Zur Veranschaulichung werden wir eine Terminvereinbarungsanwendung in verschiedenen Umgebungen erstellen:
- eine klassische Webanwendung mit den Technologien JSF2 / EJB3 / JPA auf einem Glassfish 3.1-Server,
- die gleiche Anwendung mit Ajax-Unterstützung unter Verwendung der Technologie PrimeFaces,
- und schließlich eine mobile Version mit der Technologie PrimeFaces Mobile.
Sobald eine Version erstellt wurde, werden wir sie in eine JSF2-/Spring-/JPA-Umgebung auf einem Tomcat-7-Server portieren. Wir werden also sechs Java-Anwendungen EE erstellen.
Das Dokument enthält nur das, was zum Erstellen dieser Anwendungen notwendig ist. Man sollte daher keine Vollständigkeit darin suchen. Diese wird man nicht finden. Es handelt sich auch nicht um eine Sammlung von Best Practices. Erfahrene Entwickler werden daher vielleicht feststellen, dass sie die Dinge anders gemacht hätten. Ich hoffe lediglich, dass dieses Dokument auch keine Sammlung von Bad Practices ist.
Um sich näher mit JSF2 und PrimeFaces zu befassen, können die folgenden Referenz en herangezogen werden:
- [ref1]: Java-Tutorial EE5, [http://java.sun.com/javaee/5/docs/tutorial/doc/index.HTML] – das Sun-Handbuch zum Einstieg in Java EE5. Lesen Sie den Abschnitt II [Web Tier], um mehr über die Web-Technologie und insbesondere JSF zu erfahren. Die Beispiele aus dem Tutorial können heruntergeladen werden. Sie liegen in Form von NetBeans-Projekten vor, die geladen und ausgeführt werden können,
- [ref2]: „Core Faces“ von David Geary und Cay S. Horstmann, dritte Auflage, erschienen bei McGraw-Hill,
- [ref3]: die Dokumentation zu PrimeFaces [http://primefaces.googlecode.com/files/primefaces_users_guide_3_2.pdf],
- [ref4]: Dokumentation zu PrimeFaces Mobile: [http://primefaces.googlecode.com/files/primefaces_mobile_users_guide_0_9_2.pdf].
Gelegentlich werden wir auf [ref2] verweisen, um den Leser darauf hinzuweisen, dass er sich mit diesem Buch näher mit einem bestimmten Thema befassen kann.
Das Dokument wurde so verfasst, dass es für ein möglichst breites Publikum verständlich ist. Die für das Verständnis erforderlichen Voraussetzungen sind folgende:
- Kenntnisse der Programmiersprache Java,
- Grundkenntnisse in der Java-Entwicklung EE.
Auf der Website [http://developpez.com] finden sich alle für diese Voraussetzungen erforderlichen Ressourcen. Einige davon sind auf der Website [https://stahe.github.io] zu finden:
- [ref5]: Einführung in die Webprogrammierung mit Java (September 2002): vermittelt die Grundlagen der Webprogrammierung mit Java: Servlets und Seiten JSP,
- [ref6]: Grundlagen der Webentwicklung in Java MVC (Mai 2006) []: empfiehlt die Entwicklung von Webanwendungen mit dreischichtigen Architekturen, bei denen die Webschicht das Entwurfsmuster (Design Pattern) MVC (Model, View, Controller) implementiert.
- [ref7]: Einführung in Java EE 5 (Juni 2010). Dieses Dokument bietet einen Einstieg in JSF 1 und die EJB3.
- [ref8]: Java-Persistenz in der Praxis (Juni 2007). Dieses Dokument bietet einen Einblick in die Datenpersistenz mit JPA (Java Persistence API).
- [ref9]: Erstellung eines Java-Webdienstes EE mit NetBeans und dem GlassFish-Server (Januar 2009). Dieses Dokument befasst sich mit der Erstellung eines Webdienstes. Die in diesem Dokument behandelte Beispielanwendung stammt aus [ref9].
1.2. Die Beispiel-
Die Beispiele dieses Dokuments sind unter URL und [HIER| als Maven-Projekte sowohl für NetBeans als auch für Eclipse verfügbar:
![]() |
So importieren Sie ein Projekt in NetBeans:
![]() |
- In [1] öffnet man ein Projekt,
- in [2] wählt man das zu öffnende Projekt im Dateisystem aus,
- in [3] wird es geöffnet.
Mit Eclipse
![]() |
- in [1] wird ein Projekt importiert,
- in [2] handelt es sich um ein bestehendes Maven-Projekt,
![]() |
![]() |
- in [3]: Es wird im Dateisystem ausgewählt,
- in [4]: Eclipse erkennt es als Maven-Projekt,
- in [5] das importierte Projekt.
1.3. Die verwendeten Tools
Im Folgenden verwenden wir (Mai 2012):
- die integrierte Entwicklungsumgebung (IDE) NetBeans 7.1.2, verfügbar unter URL [http://www.netbeans.org],
- Eclipse Indigo (IDE) in seiner angepassten Form als SpringSource Tool Suite (STS) ([http://www.springsource.com/developer/sts]),
- PrimeFaces in der Version 3.2, verfügbar unter URL und [http://primefaces.org/],
- PrimeFaces Mobile in der Version 0.9.2, verfügbar unter URL und [http://primefaces.org/],
- WampServer für die Versionen SGBD, MySQL und [http://www.wampserver.com/].
1.3.1. Installation von NetBeans IDE
Hier beschreiben wir die Installation von NetBeans 7.1.2, das unter den Versionsnummern URL und [http://netbeans.org/downloads/] verfügbar ist.
![]() |
Man kann oben die Java-Version EE mit den beiden Servern GlassFish 3.1.2 und Apache Tomcat 7.0.22 verwenden. Der erste ermöglicht die Entwicklung von Java-Anwendungen EE mit EJB3 (Enterprise Java Bean), der andere die Entwicklung von Java-Anwendungen EE ohne EJB. Wir werden dann die EJBs durch das Spring-Framework ersetzen.
Sobald das NetBeans-Installationsprogramm heruntergeladen ist, führen wir es aus. Dazu benötigen wir ein JDK (Java Development Kit) und ein [http://www.oracle.com/technetwork/java/javase/overview/index.HTML]. Neben NetBeans 7.1.2 installieren wir:
- das Framework JUnit für Unit-Tests,
- den GlassFish-Server 3.1.2,
- den Tomcat-Server 7.0.22.
Nach Abschluss der Installation starten wir NetBeans:
![]() |
- in [1], NetBeans 7.1.2 mit drei Registerkarten:
- Die Registerkarte „[Projects]“ zeigt die geöffneten NetBeans-Projekte an;
- Die Registerkarte „[Files]“ zeigt die verschiedenen Dateien an, aus denen die geöffneten NetBeans-Projekte bestehen;
- die Registerkarte [Services] fasst eine Reihe von Werkzeugen zusammen, die von den NetBeans-Projekten verwendet werden;
- in [2] wird die Registerkarte [Services] aktiviert und in [3] der Zweig [Servers],
- in [4] wird der Tomcat-Server gestartet, um zu überprüfen, ob er korrekt installiert ist,
![]() |
- in [6], auf der Registerkarte [Apache Tomcat] [5], kann man den korrekten Start des Servers überprüfen,
- in [7] wird der Tomcat-Server beendet,
Auf die gleiche Weise wird die korrekte Installation des Glassfish-Servers 3.1.2 überprüft:
![]() |
- In [8] wird der Glassfish-Server gestartet,
- in [9] wird überprüft, ob er ordnungsgemäß gestartet wurde,
![]() |
- bei [10] wird er beendet.
Wir haben nun ein betriebsbereites IDE. Wir können nun mit der Erstellung von Projekten beginnen. Je nach Projekt werden wir verschiedene Eigenschaften des IDE näher erläutern.
Wir werden nun das Eclipse-IDE installieren und darin die beiden Server Tomcat 7 und Glassfish 3.1.2 registrieren, die wir gerade heruntergeladen haben. Dazu müssen wir die Installationsverzeichnisse dieser beiden Server kennen. Diese Informationen finden wir in den Eigenschaften der beiden Server:
![]() |
- in [1] ist der Installationsordner von Tomcat 7,
![]() |
- in [2], den Ordner mit den Domänen des GlassFish-Servers. Im Eintrag für GlassFish in Eclipse müssen Sie nur die folgende Information angeben: [D:\Programs\devjava\Glassfish\glassfish-3.1.2\glassfish].
1.3.2. Installation von Eclipse
Obwohl Eclipse nicht die in diesem Dokument verwendete Version ist, beschreiben wir dennoch die Installation. Die Beispiele in diesem Dokument werden nämlich auch in Form von Maven-Projekten für Eclipse bereitgestellt. Eclipse wird nicht mit vorinstalliertem Maven ausgeliefert. Dazu muss ein Plugin installiert werden. Anstatt eine reine Eclipse-Installation durchzuführen, installieren wir die SpringSource Tool Suite [http://www.springsource.com/developer/sts], eine Eclipse-Version, die bereits mit zahlreichen Plugins für das Spring-Framework sowie einer vorinstallierten Maven-Konfiguration ausgestattet ist.
![]() |
- Rufen Sie die Website der SpringSource Tool Suite (STS) [1], um die aktuelle Version von STS [2A] [2B] herunterzuladen,
![]() |
![]() |
- Die heruntergeladene Datei ist ein Installationsprogramm, das die Dateistruktur von [3A] und [3B] erstellt. In [4] wird die ausführbare Datei gestartet,
- in [5] wird das Arbeitsfenster von IDE angezeigt, nachdem das Begrüßungsfenster geschlossen wurde. In [6] wird das Fenster mit den Anwendungsservern angezeigt,
![]() |
- in [7] das Serverfenster. Ein Server ist registriert. Es handelt sich um einen Server VMware, den wir nicht verwenden werden. In [8] rufen wir den Assistenten zum Hinzufügen eines neuen Servers auf,
![]() |
- In [9A] werden uns verschiedene Server vorgeschlagen. Wir entscheiden uns für die Installation eines Tomcat-7-Servers von Apache ([9B]),
![]() |
- in [10], geben wir den Installationsordner des mit NetBeans installierten Tomcat-7-Servers an. Falls kein Tomcat-Server vorhanden ist, verwenden Sie die Schaltfläche [11],
- in [12]; der Tomcat-Server erscheint dann im Fenster [Servers],
![]() |
- in [13] starten wir den Server,
- in [14] ist er gestartet,
- in [15] wird er beendet.
Im Fenster [Console] erhält man, wenn alles gut geht, die folgenden Tomcat-Protokolle:
![]() |
- Ebenfalls im Fenster „[Servers]“ fügen wir einen neuen Server „[16]“ hinzu,
- in [17] wird der Glassfish-Server nicht angeboten,
- in diesem Fall verwenden wir den Link [18],
![]() |
- bei [19] wählt man die Option, einen Adapter für den Glassfish-Server hinzuzufügen,
- dieser wird heruntergeladen, und zurück im Fenster [Servers] fügt man einen neuen Server hinzu,
- diesmal in [21] werden die Glassfish-Server vorgeschlagen,
![]() |
- In [22] wählen wir den mit NetBeans heruntergeladenen GlassFish-Server 3.1.2 aus,
- in [23] geben wir den Installationsordner von Glassfish 3.1.2 an (beachten Sie den in [24] angegebenen Pfad),
- falls kein Glassfish-Server vorhanden ist, die Schaltfläche [25] verwenden,
![]() |
- In [26] fragt der Assistent nach dem Administrator-Passwort des Glassfish-Servers. Bei einer Erstinstallation lautet dieses normalerweise adminadmin,
- sobald der Assistent abgeschlossen ist, erscheint im Fenster [Servers] der Glassfish-Server [27],
![]() |
- in [28]. Man startet ihn,
- in [29] kann ein Problem auftreten. Dies hängt von den bei der Installation angegebenen Informationen ab. Glassfish benötigt ein JDK (Java Development Kit) und kein JRE (Java Runtime Environment),
- um Zugriff auf die Eigenschaften des Glassfish-Servers zu erhalten, doppelklickt man im Fenster [Servers] darauf,
- daraufhin erscheint das Fenster „[20]“, in dem man dem Link „[Runtime Environment]“ folgt,
![]() |
- in [31]: Hier ersetzen wir das standardmäßig verwendete JRE durch ein JDK. Dazu verwenden wir den Link [32],
- in [33] werden die auf dem Rechner installierten JRE
- in [34] wird ein weiterer hinzugefügt,
![]() |
- in [35], man wählt [Standard VM] (Virtual Machine),
- bei [36] wählt man JDK (>=1.6) aus,
- bei [37] wird der neue Name JRE vergeben,
![]() |
- Zurück zur Auswahl von JRE für Glassfish: Wir wählen das neue JRE, das als [38] deklariert wurde,
- sobald der Konfigurationsassistent abgeschlossen ist, starten wir [Glassfish] und [39] neu,
- in [40], es wird gestartet,
![]() |
- in [41], die Server-Verzeichnisstruktur,
- in [42], man greift auf die Glassfish-Protokolle zu:
![]() |
- in [43] fahren wir den Glassfish-Server herunter.
1.3.3. Installation von [WampServer]
[WampServer] ist ein Softwarepaket zur Entwicklung unter PHP / MySQL / Apache auf einem Windows-Rechner. Wir werden es ausschließlich für SGBD und MySQL verwenden.
![]() |
- auf der Website von [WampServer] [1] die passende Version auswählen: [2],
- Die heruntergeladene ausführbare Datei ist ein Installationsprogramm. Während der Installation werden verschiedene Informationen abgefragt. Diese beziehen sich nicht auf MySQL. Man kann sie daher ignorieren. Am Ende der Installation wird das Fenster „[3]“ angezeigt. Starten Sie „[WampServer]“,
![]() |
- in [4], das Symbol von [WampServer] wird in der Taskleiste unten rechts auf dem Bildschirm [4] installiert,
- Wenn man darauf klickt, wird das Menü [5] angezeigt. Es ermöglicht die Verwaltung des Apache-Servers und des SGBD MySQL. Um diesen zu verwalten, verwendet man die Option [PhpPmyAdmin],
- daraufhin erscheint das untenstehende Fenster,

Wir werden nur wenige Details zur Verwendung von [PhpMyAdmin] angeben. Wir zeigen lediglich, wie man damit die Datenbank für die Beispielanwendung dieses Tutorials erstellt.






























