- Java EE SDK;
- Java EE-Anwendungsserver GlassFish;
- Einrichten von IntelliJ IDEA.
- Zeigen Sie, wie Sie eine Arbeitsumgebung für die Arbeit mit Java EE-Anwendungen vorbereiten können.
- Zeigen Sie, wie Sie Java EE-Anwendungen von IntelliJ IDEA auf dem GlassFish-Server bereitstellen und ausführen können.
- Laden Sie das Java EE 7 SDK herunter und installieren Sie es.
- Lassen Sie uns den Java EE Application Server GlassFish erstellen.
- Erfahren Sie, wie Sie den Server über die Befehlszeile starten und stoppen.
- Lassen Sie uns IntelliJ IDEA so konfigurieren, dass Anwendungen auf diesem Server bereitgestellt werden.
- Lassen Sie uns die Demoanwendung bereitstellen und ausführen, die zusammen mit dem GlassFish-Anwendungsserver im Java EE 7 SDK enthalten ist.
- GlassFish 4.0;
- IntelliJ IDEA 2019.3.1 (Ultimate);
- Java EE SDK 7.
Java EE SDK installieren
Wichtiger Zustand. Bevor Sie das Java EE SDK installieren, müssen Sie sicherstellen, dass das Java SE SDK vorinstalliert ist.-
Zuerst müssen wir das SDK herunterladen. Dazu können Sie in eine Suchmaschine eingeben: „Java EE SDK 7“ oder direkt zur SDK-Download-Seite von der Oracle-Website gehen.
-
Aus der Liste der bereitgestellten SDKs müssen Sie das für Ihre Plattform geeignete auswählen. Der Artikel beschreibt die Installation der Distribution: „java_ee_sdk-7-jdk7-windows-x64-ml.exe“
-
Führen Sie die Installationsdatei aus. Beim Start kann folgender Fehler auftreten (falls er nicht auftritt, können Sie einfach mit der Installation fortfahren):
Das bedeutet, dass das Installationsprogramm den Pfad zur vorinstallierten Java Runtime Environment nicht finden konnte. Der Fehler kann behoben werden, indem der Pfad zur JRE manuell über die Befehlszeile übergeben wird. Dazu müssen Sie die Installationsdatei über PowerShell ausführen und über den Parameter -j den Pfad zur vorinstallierten JRE übergeben.
Zum Beispiel so:
-
Der weitere Installationsvorgang ist für die meisten Programme recht typisch. Sie müssen lediglich auf die Schaltflächen „Weiter“ und „Installieren“ klicken.
Das Programm installiert das Java EE SDK sowie den GlassFish-Server, der nach Abschluss der Installation einsatzbereit ist. -
Um sicherzustellen, dass der GlassFish-Server funktioniert, können Sie nach Abschluss der Installation das Server-Admin-Panel öffnen, das unter http://localhost:4848/ verfügbar ist.
Screenshot unten:
Starten und Stoppen von GlassFish über die Befehlszeile
Der Server ist also betriebsbereit, der Serverstart wurde jedoch vom Installationsprogramm initiiert. Im Folgenden versuchen wir herauszufinden, wie Sie den Server selbst starten und stoppen können. Lassen Sie uns zunächst eine solche Entität als Domäne offenbaren. Eine Domäne ist eine Gruppe von einer oder mehreren GlassFish-Serverinstanzen, die von einem Verwaltungsserver verwaltet werden. Bei der Installation des GlassFish-Servers wird eine Standarddomäne erstellt – domain1. Folgende Komponenten sind damit verbunden:- Server-Port (Standard 8080);
- Port des Administrationsservers (Standard 4848);
- Benutzername und Passwort des Administrators (Standard ist admin und standardmäßig ist kein Passwort erforderlich).
asadmin start-domain domain_name
asadmin stop-domain domain_name
Versuchen wir, den Server zu stoppen (da er nach der Installation bereits läuft), indem wir PowerShell aus dem Unterverzeichnis C:\glassfish4\glassfish\bin ausführen : Der Server wird gestoppt. Lassen Sie es uns jetzt ausführen:
Wir analysieren die erste Java EE-Anwendung, Dukes-Age
Als nächstes schauen wir uns eine Demo-Java-EE-Anwendung an: Dukes-Age. Diese Anwendung ist zusammen mit der First-Cup-Anwendung im Java EE SDK enthalten. Beschreibungen dieser Anwendungen finden Sie auf der offiziellen Oracle-Dokumentationswebsite in den Abschnitten 3 und 4 des Einführungskurses zu Java EE für Java-EE-Anfänger-Entwickler . In diesem Artikel werfen wir einen kurzen Blick auf die Dukes-Age-Anwendung und untersuchen den Prozess des Startens dieser Anwendung auf dem GlassFish-Server aus der IntelliJ IDEA-Entwicklungsumgebung genauer. Die Anwendung befindet sich im Glassfish-Serververzeichnis. Wenn Sie den Standardpfad für den Glassfish-Server bei der Installation des Java EE SDK nicht geändert haben, finden Sie diese Anwendung im Ordner: C:\glassfish4\docs\firstcup\example\dukes-age . Wahrscheinlich hat jeder Java-Entwickler, ob Anfänger oder erfahren, mindestens einmal das Maskottchen der Programmiersprache Java gesehen – Duke: Nur wenige wissen, dass Duke Geburtstag hat. Er wurde am 23. Mai 1995 geboren, als die erste Demoversion der Java-Technologie veröffentlicht wurde. Die Dukes-Age-App liefert, wie der Name schon sagt, Informationen über Dukes Alter. Öffnen wir diese Anwendung in IntelliJ IDEA: Datei -> Neu -> Projekt aus vorhandenen Quellen... Gehen Sie dann zum Ordner mit der Dukes-Age-Anwendung, der sich standardmäßig unter C:\glassfish4\docs\firstcup\example\dukes- befindet. Alter , wählen Sie die Datei pom.xml aus und klicken Sie auf OK: Eine Anwendung mit der folgenden Struktur wird geöffnet: Werfen wir einen Blick auf den KlassencodeDukesAgeResource
:
package firstcup.dukesage.resource;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
/**
* REST Web Service
*
*/
@Path("dukesAge")
public class DukesAgeResource {
/** Creates a new instance of DukesAgeResource */
public DukesAgeResource() {
}
/**
* Retrieves representation of an instance of DukesAgeResource
* @return an instance of java.lang.String
*/
@GET
@Produces("text/plain")
public String getText() {
// Create a new Calendar for Duke's birthday
Calendar dukesBirthday = new GregorianCalendar(1995, Calendar.MAY, 23);
// Create a new Calendar for today
Calendar now = GregorianCalendar.getInstance();
// Subtract today's year from Duke's birth year, 1995
int dukesAge = now.get(Calendar.YEAR) - dukesBirthday.get(Calendar.YEAR);
dukesBirthday.add(Calendar.YEAR, dukesAge);
// If today's date is before May 23, subtract a year from Duke's age
if (now.before(dukesBirthday)) {
dukesAge--;
}
// Return a String representation of Duke's age
return "" + dukesAge;
}
}
Dies ist ein JAX-RS RESTful-Webdienst mit einer Methode – getText()
. Wenn Sie den Code dieser Methode untersuchen, wird deutlich, dass die Methode die Anzahl der Jahre zurückgibt, die seit Dukes Geburt vergangen sind. Das heißt, die Methode gibt Dukes Alter zurück. Eine Klasse ist eine Ressource in einem REST-Kontext.
- Die Annotation über der Klasse
@Path("dukesAge")
definiert den URI-Pfad, zu dem Aufrufe von dieser Klasse verarbeitet werden. - Die Anmerkung über der Methode
@GET
sagt uns, dass diese Methode GET-Anfragen verarbeitet. - Die Annotation
@Produces("text/plain")
gibt den Medientyp der Antwort auf die Anfrage an. Es ist nicht schwer zu erraten, dass die MethodegetText()
Antworten mit dem Medientyp Text/Plain generiert.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
</web-app>
In dieser Datei wird innerhalb des Tags servlet-mapping
ein Tag url-pattern
mit dem Wert definiert /webapi/*
. Hier wird ein bestimmter Wurzelpunkt definiert, dessen Aufrufe vom Dienst weiterverarbeitet werden. In Kombination mit der Anmerkung @Path("dukesAge")
stellt sich heraus, dass Sie die Adresse /webapi/dukesAge kontaktieren müssen, um Informationen über Dukes Alter zu erhalten.
Einrichten von IntelliJ IDEA zum Ausführen einer Java EE-Anwendung auf einem GlassFish-Server
Nachdem wir nun eine sehr allgemeine Vorstellung von der Dukes-Age-Anwendung haben (lesen Sie mehr darüber auf der Oracle-Website ), konfigurieren wir IntelliJ IDEA so, dass wir diese Anwendung von unserer IDE aus ausführen können. Einrichten von IntelliJ IDEA- Gehen Sie dazu in das Menü Ausführen -> Konfigurationen bearbeiten.
- Das Fenster „Konfigurationen ausführen/debuggen“ wird geöffnet:
- Wir müssen eine neue Konfiguration hinzufügen. Klicken Sie dazu auf das Pluszeichen oder verwenden Sie die Tastenkombination Alt+Einfügen. Wählen Sie in der sich öffnenden Liste GlassFish Server -> Lokal aus:
- Beginnen wir im sich öffnenden Fenster mit dem Einrichten der Konfiguration:
- Der nächste Schritt besteht darin, die Artefakte anzugeben, die auf dem Server bereitgestellt werden müssen. Dies kann über die Registerkarte „Bereitstellung“ erfolgen, indem Sie auf das Pluszeichen -> Artefakt... klicken.
- Wählen Sie „dukes-age:war“ und klicken Sie auf „OK“:
- Speichern Sie als Nächstes unsere Konfiguration, indem Sie auf Übernehmen und dann auf OK klicken.
Starten der Anwendung
Versuchen wir nun, die Anwendung auszuführen.-
Dazu können Sie die Tastenkombination Alt+Umschalt+F10 oder über das Menü Ausführen -> Ausführen... verwenden.
Und wählen Sie die von uns erstellte Dukes-Age-Konfiguration aus:
-
Danach sehen wir die Startprotokolle im Dienstebereich:
-
Wenn dann alles nach Anleitung gemacht wird, öffnet sich der Browser und es wird klar, dass nichts funktioniert:
-
Gehen wir dazu zurück zu IntelliJ IDEA und dann zum Menü: Ausführen -> Konfigurationen bearbeiten ...
-
Wählen wir die zuvor gespeicherte Konfiguration aus und aktualisieren Sie die URL gemäß dem Screenshot unten:
-
Speichern wir die Konfiguration und starten Sie unsere Anwendung mit der Tastenkombination Strg+Umschalt+F10 oder einer speziellen Schaltfläche im Bereich „Dienste“ neu:
-
Wenn nach dem Neustart alles richtig gemacht wurde, sehen wir Dukes Alter:
Abschluss
In diesem Artikel haben wir uns am Beispiel des GlassFish 4.0-Servers, der Entwicklungsumgebung IntelliJ IDEA 2019.3.1 (Ultimate) sowie des Java EE SDK Version 7 angesehen, wie Sie Ihre lokale Umgebung für die Arbeit mit Java EE-Anwendungen konfigurieren können. Wir haben uns angeschaut, wie Sie Folgendes erreichen können:- Laden Sie das Java EE SDK sowie den GlassFish-Server herunter und installieren Sie es.
- Stoppen und starten Sie den GlassFish-Server über PowerShell;
- Konfigurieren Sie IntelliJ IDEA so, dass Sie Java EE-Anwendungen von der IDE auf dem GlassFish-Server bereitstellen und sofort starten können.
Bonusaufgabe
- Wiederholen Sie alle beschriebenen Schritte selbst.
- Nehmen Sie an einem Einführungskurs zu Java EE für Java-EE-Anfänger von Oracle teil .
- Artikel mit einem Sternchen. Versuchen Sie, die zweite First-Cup-Demoanwendung selbst bereitzustellen. Diese Anwendung ist interaktiver und interagiert auch mit der Dukes-Age-Anwendung. Um diesen Schritt abzuschließen, müssen Sie die folgenden Fragen selbstständig verstehen:
- So aktivieren Sie die Datenbank im glassFish-Server;
- So integrieren Sie zwei Anwendungen miteinander (in First-Cup wird der Pfad zum Dukes-Age-Endpunkt angegeben, den wir in diesem Artikel besprochen haben);
- So erstellen Sie eine neue Konfiguration in Intellij IDEA für die Erstbereitstellung (ähnlich wie in diesem Artikel gezeigt);
- Eventuell noch viele weitere Fragen)
GO TO FULL VERSION