Ich suche nach einer klaren Beschreibung aller Java EE Technologien Stack.
Ich denke, es gibt eine Menge Leute wie mich, die in vielen Websites / Tutorials gesucht haben und keine genaue Liste gefunden haben, welche Technologien in Java EE verwendet werden und wofür sie gut sind.
Ich hoffe, dass jemand klar und schön erklärt, gut für die ganze Gemeinschaft zu sein.
Wichtig: Während diese Antwort immer noch gültig ist, sollten Sie die Technologieliste von Java EE 8 überprüfen am 21. September st 2017. Werfen Sie einen Blick auf diese Antwort .
Nachfolgend finden Sie eine Liste von Spezifikationen für die Java EE 7-Technologien. Weitere Informationen finden Sie auf den JSR-Seiten:
Java EE-Plattform
Webanwendungstechnologien
Enterprise-Anwendungstechnologien
Web-Services-Technologien
Verwaltungs- und Sicherheitstechnologien
Java EE-bezogene Spezifikationen in Java SE
Weitere Einzelheiten finden Sie auf dieser Seite .
Wie von Arun Gupta in seinem Buch Java EE 7 Essentials erwähnt, arbeiten die verschiedenen Komponenten zusammen ein integrierter Stapel, wie unten gezeigt:
Also, wir haben folgendes:
Verschiedene Komponenten können logisch in drei Ebenen unterteilt werden: Back-End-Ebene, mittlere Ebene und Web-Ebene. Dies ist nur eine logische Darstellung, und die Komponenten können basierend auf den Anforderungen der Anwendung auf eine andere Ebene eingeschränkt werden.
JPA und JMS stellen die grundlegenden Dienste wie Datenbankzugriff und Messaging bereit. JCA ermöglicht die Verbindung mit Legacy-Systemen. Batch wird zum Ausführen nicht interaktiver, massenorientierter Aufgaben verwendet.
Managed Beans und EJB bieten ein vereinfachtes Programmiermodell, das POJOs zur Nutzung der Basisdienste verwendet.
CDI, Interzeptoren und allgemeine Annotationen bieten Konzepte, die auf eine Vielzahl von Komponenten anwendbar sind, z. B. die typsichere Abhängigkeitsinjektion, die Behandlung übergreifender Probleme mithilfe von Interzeptoren und einen allgemeinen Satz von Annotationen. Concurrency-Dienstprogramme können zum Ausführen von Aufgaben in einem verwalteten Thread verwendet werden. JTA aktiviert Transactional Interceptors, die auf jedes POJO angewendet werden können.
Mit CDI Extensions können Sie die Plattform auf eine standardmäßige Art und Weise über ihre bestehenden Fähigkeiten hinaus erweitern.
Web-Services mit JAX-RS und JAX-WS, JSF, JSP und EL definieren das Programmiermodell für Web-Anwendungen. Web Fragments ermöglichen die automatische Registrierung von Web-Frameworks von Drittanbietern auf sehr natürliche Weise. JSON bietet eine Möglichkeit, JSON-Strukturen in der Webschicht zu analysieren und zu generieren. WebSocket ermöglicht die Einrichtung eines bidirektionalen Vollduplex-Kommunikationskanals über eine einzige TCP-Verbindung.
Bean Validation bietet standardmäßig die Möglichkeit, Einschränkungen zu deklarieren und sie über verschiedene Technologien hinweg zu validieren.
Weitere Informationen zu den oben aufgeführten Haupttechnologien finden Sie im Java EE 7-Lernprogramm . Einen guten Überblick über die wichtigsten Technologien finden Sie auf dieser Seite . Zitieren Sie es einfach hier:
Enterprise JavaBeans Technologie
Eine Enterprise JavaBeans (EJB) -Komponente oder Enterprise-Bean ist ein Rumpf Code mit Feldern und Methoden zum Implementieren von Geschäftsmodulen Logik. Sie können sich eine Enterprise-Bean als einen Baustein vorstellen, der kann alleine oder mit anderen Enterprise-Beans zur Ausführung von Geschäften verwendet werden Logik auf dem Java EE Server.
Enterprise-Beans sind entweder Session-Beans oder Message-Driven-Beans.
Eine Session-Bean repräsentiert eine vorübergehende Konversation mit einem Client. Wenn der Client die Ausführung beendet hat, sind die Session-Bean und ihre Daten weg.
Eine nachrichtengesteuerte Bean kombiniert Funktionen einer Session-Bean und eines Nachrichten-Listeners, sodass eine Geschäftskomponente Nachrichten empfangen kann asynchron. Üblicherweise sind dies Java Message Service (JMS) Nachrichten.
Auf der Java EE 7-Plattform gehören zu den neuen Enterprise-Bean-Funktionen die Folgendes:
Asynchrone lokale Session-Beans in EJB Lite
Nicht persistente Timer in EJB Lite
Die Java EE 7-Plattform benötigt Enterprise JavaBeans 3.2 und Abfangjäger 1.2. Die Interceptors-Spezifikation ist Teil des EJB Spezifikation.
Java-Servlet-Technologie
Mit der Java-Servlet-Technologie können Sie HTTP-spezifische Servlet-Klassen definieren. Eine Servlet-Klasse erweitert die Funktionen von Servern, die hosten Anwendungen, auf die über ein Anfrage-Antwort-Programmiermodell zugegriffen wird. Obwohl Servlets auf jede Art von Anfrage antworten können, sind sie häufig verwendet, um die Anwendungen von Webservern zu erweitern.
In der Java EE 7-Plattform neue Java-Servlet-Technologiefunktionen schließe folgendes ein:
Nicht blockierende E / A
HTTP-Protokoll-Aktualisierung
Die Java EE 7-Plattform erfordert Servlet 3.1.
JavaServer Faces-Technologie
JavaServer Faces-Technologie ist ein Benutzeroberflächen-Framework für das Erstellen Web Applikationen. Die Hauptkomponenten der JavaServer Faces-Technologie sind wie folgt:
Ein GUI-Komponenten-Framework.
Ein flexibles Modell zum Rendern von Komponenten in verschiedenen Arten von HTML oder verschiedenen Markup-Sprachen und -Technologien. Ein
Renderer
-Objekt generiert das Markup zum Rendern der Komponente und konvertiert die Daten in einem Modellobjekt in Typen gespeichert, die in einer Ansicht dargestellt werden können.Ein standard
RenderKit
zum Generieren von HTML 4.01 Markup.Die folgenden Funktionen unterstützen die GUI-Komponenten:
Eingabevalidierung
Ereignisbehandlung
Datenkonvertierung zwischen Modellobjekten und Komponenten
Erstellung von verwalteten Modellobjekten
Seitennavigationskonfiguration
Ausdruckssprache (EL)
All diese Funktionalität ist mit den Standard-Java-APIs und verfügbar XML-basierte Konfigurationsdateien.
In der Java EE 7-Plattform neue Funktionen der JavaServer Faces-Technologie schließe folgendes ein:
HTML5-freundliches Markup
Gesichter fließen
Verträge mit Ressourcenbibliotheken
Die Java EE 7-Plattform benötigt JavaServer Faces 2.2 und Expression Sprache 3.0.
JavaServer Pages-Technologie
Mit der JavaServer Pages (JSP) -Technologie können Sie Servlet-Snippets einfügen Code direkt in ein textbasiertes Dokument. Eine JSP-Seite ist textbasiert Dokument, das zwei Arten von Text enthält:
Statische Daten, die in einem beliebigen textbasierten Format wie HTML oder XML ausgedrückt werden können
JSP-Elemente, die festlegen, wie die Seite dynamischen Inhalt erstellt
Informationen zur JSP-Technologie finden Sie im Java EE 5-Lernprogramm in Ссылка .
Die Java EE 7-Plattform benötigt JavaServer Pages 2.3 zur Kompatibilität mit früheren Versionen, empfiehlt jedoch die Verwendung von Facelets als Display-Technologie in neuen Anwendungen.
Standard-Tag-Bibliothek von JavaServer Pages
Die Standard-Tag-Bibliothek (JSTL) von JavaServer Pages kapselt den Kern Funktionalität für viele JSP-Anwendungen. Anstatt Tags zu mischen von zahlreichen Anbietern in Ihren JSP-Anwendungen verwenden Sie eine einzelne, Standardsatz von Tags. Diese Standardisierung ermöglicht Ihnen die Bereitstellung Ihrer Anwendungen auf jedem JSP-Container, der JSTL unterstützt und mehr daraus macht wahrscheinlich, dass die Implementierung der Tags optimiert ist.
JSTL verfügt über Iterator- und Conditional-Tags zum Behandeln von Ablaufsteuerungs-Tags zum Manipulieren von XML-Dokumenten, Internationalisierungs-Tags, Tags für Zugriff auf Datenbanken mit SQL und Tags für häufig verwendete Funktionen.
Die Java EE 7-Plattform benötigt JSTL 1.2.
Java-Persistenz-API
Die Java Persistence API (JPA) ist eine auf Java-Standards basierende Lösung für Beharrlichkeit. Bei der Persistenz wird ein Objekt / relationaler Mapping-Ansatz verwendet Überbrücken Sie die Lücke zwischen einem objektorientierten Modell und einem relationalen Modell Datenbank. Die Java Persistence API kann auch in Java SE verwendet werden Anwendungen außerhalb der Java EE-Umgebung. Java-Persistenz besteht aus folgenden Bereichen:
Die Java-Persistenz-API
Die Abfragesprache
Objekt- / relationale Zuordnungsmetadaten
Die Java EE 7-Plattform benötigt Java Persistence API 2.1.
Java-Transaktions-API
Das Java Transaction API (JTA) stellt eine Standardschnittstelle für Abgrenzungstransaktionen. Die Java EE-Architektur bietet eine Standardeinstellung Automatisches Commit, um Transaktions-Commits und Rollbacks zu verarbeiten. Ein Auto Commit bedeutet, dass andere Anwendungen, die Daten anzeigen, dies tun Sehen Sie sich die aktualisierten Daten nach jeder Lese- oder Schreiboperation an. Wenn Ihre Anwendung jedoch zwei separate Datenbankzugriffe ausführt Operationen, die voneinander abhängen, möchten Sie die JTA-API verwenden Abgrenzung, wo die gesamte Transaktion, einschließlich der beiden Operationen, beginnt, rollt zurück und legt fest.
Die Java EE 7-Plattform benötigt Java Transaction API 1.2.
Java API für RESTful Web Services
Die Java API für RESTful Web Services (JAX-RS) definiert APIs für die Entwicklung von Webservices nach dem Representational State Transfer (REST) Architekturstil. Eine JAX-RS-Anwendung ist ein Webanwendung, die aus Klassen besteht, die als Servlet in einer WAR-Datei zusammen mit den erforderlichen Bibliotheken.
Die Java EE 7-Plattform benötigt JAX-RS 2.0.
Verwaltete Bohnen
Managed Beans, leichte containerverwaltete Objekte (POJOs) mit minimale Anforderungen, Unterstützung einer kleinen Reihe von grundlegenden Dienstleistungen, wie z Ressourceninjektion, Lebenszyklus-Callbacks und Interzeptoren. Gelang es Beans stellen eine Verallgemeinerung der von angegebenen verwalteten Beans dar JavaServer Faces Technologie und kann überall in einer Java EE verwendet werden Anwendung, nicht nur in Web-Modulen.
Die Managed Beans-Spezifikation ist Teil der Java EE 7-Plattform Spezifikation (JSR 342). Die Java EE 7-Plattform benötigt Managed Beans 1.0.
Kontexte und Dependency Injection für Java EE
Kontexte und Dependency Injection für Java EE (CDI) definiert eine Menge von kontextabhängige Dienste, die von Java-EE-Containern zur Verfügung gestellt werden Entwickler können Enterprise-Beans zusammen mit JavaServer Faces verwenden Technologie in Webanwendungen. Entwickelt für den Einsatz mit Stateful Objekte, CDI hat auch viele breitere Anwendungen, so dass Entwickler eine große viel Flexibilität bei der Integration verschiedener Arten von Komponenten in einem locker gekoppelt aber typsicher.
Die Java EE 7-Plattform benötigt CDI 1.1.
Abhängigkeitsinjektion für Java
Dependency Injection für Java definiert einen Standardsatz von Annotationen (und eine Schnittstelle) für injizierbare Klassen.
In der Java EE-Plattform bietet CDI Unterstützung für Dependency Injektion. Sie können Injektionspunkte nur in a verwenden CDI-fähige Anwendung.
Die Java EE 7-Plattform erfordert Dependency Injection für Java 1.0.
Bean Validierung
Die Bean-Validierungsspezifikation definiert ein Metadatenmodell und eine API für Validieren von Daten in JavaBeans-Komponenten. Anstatt zu verteilen Validierung von Daten über mehrere Ebenen wie Browser und Serverseitig können Sie die Validierungsbedingungen an einer Stelle definieren und teilen Sie sie über die verschiedenen Ebenen.
Die Java EE 7-Plattform erfordert Bean Validation 1.1.
Java-Nachrichtendienst-API
Die JMS-API (Java Message Service) ist ein Nachrichtenstandard, der es ermöglicht Java EE-Anwendungskomponenten zum Erstellen, Senden, Empfangen und Lesen Mitteilungen. Es ermöglicht verteilte Kommunikation, die lose ist gekoppelt, zuverlässig und asynchron.
In der Plattform sind folgende neue Funktionen von JMS enthalten:
Eine neue, vereinfachte API bietet eine einfachere Alternative zur vorherigen API. Diese API enthält ein
JMSContext
-Objekt, das die Funktionen einer Verbindung undSession
.Alle Objekte mit einer close-Methode implementieren die Schnittstelle
java.lang.Autocloseable
, so dass sie in einem Java verwendet werden können SE 7 try-with-resources-Anweisung.Die Java EE 7-Plattform benötigt JMS 2.0.
Java EE-Connector-Architektur
Die Java EE Connector-Architektur wird von Tools-Anbietern und System verwendet Integratoren zum Erstellen von Ressourcenadaptern, die den Zugriff auf Unternehmensinformationssysteme, die an jede Java EE angeschlossen werden können Produkt. Ein Ressourcenadapter ist eine Softwarekomponente, die Java erlaubt EE-Anwendungskomponenten für den Zugriff und die Interaktion mit dem zugrunde liegenden Element Ressourcenmanager des EIS. Weil ein Ressourcenadapter spezifisch ist Im Ressourcenmanager ist normalerweise ein anderer Ressourcenadapter vorhanden für jede Art von Datenbank oder Unternehmensinformationssystem.
Die Java EE Connector-Architektur bietet auch eine leistungsorientiert, sicher, skalierbar und nachrichtenbasiert Transaktionsintegration von Java EE-Plattform-basierten Web-Services mit vorhandene EIS, die entweder synchron oder asynchron sein können. Bestehende über den Java EE Connector integrierte Anwendungen und EIS Die Architektur in die Java EE-Plattform kann als XML-basiertes Web dargestellt werden Services mithilfe von JAX-WS- und Java EE-Komponentenmodellen. Also JAX-WS und Die Java EE Connector Architecture sind komplementäre Technologien für Enterprise Application Integration (EAI) und End-to-End-Geschäft Integration.
Die Java EE 7-Plattform erfordert Java EE Connector Architecture 1.7.
JavaMail API
Java EE-Anwendungen verwenden die JavaMail-API zum Senden von E-Mail-Benachrichtigungen. Die JavaMail-API besteht aus zwei Teilen:
Eine Schnittstelle auf Anwendungsebene, die von den Anwendungskomponenten zum Senden von Mail verwendet wird
Eine Service Provider-Schnittstelle
Die Java EE-Plattform enthält die JavaMail-API mit einem Dienstanbieter Dadurch können Anwendungskomponenten Internet-Mail senden.
Die Java EE 7-Plattform benötigt JavaMail 1.5.
Java-Autorisierungsvertrag für Container
Die Java Authorization Contract für Container (JACC) Spezifikation definiert einen Vertrag zwischen einem Java EE-Anwendungsserver und einem Autorisierungsrichtlinienanbieter. Alle Java EE-Container unterstützen dies Vertrag.
Die JACC-Spezifikation definiert
java.security.Permission
class that das Java EE-Autorisierungsmodell erfüllen. Die Spezifikation definiert die Bindung von Container-Zugriffsentscheidungen an Operationen auf Instanzen von diese Berechtigungsklassen. Es definiert die Semantik von Richtlinienanbietern die die neuen Berechtigungsklassen verwenden, um die Autorisierung zu adressieren Anforderungen der Java EE-Plattform, einschließlich der Definition und Verwendung von Rollen.Die Java EE 7-Plattform benötigt JACC 1.5.
Java-Authentifizierungs-Service-Provider-Schnittstelle für Container
Die Java Authentication Service Provider-Schnittstelle für Container (JASPIC) Spezifikation definiert eine Service Provider Schnittstelle (SPI) durch welche Authentifizierungsanbieter die Nachrichtenauthentifizierung implementieren Mechanismen können in Client- oder Server-Nachrichtenverarbeitung integriert sein Container oder Laufzeiten. Authentifizierungsanbieter integriert durch Diese Schnittstelle arbeitet mit Netzwerknachrichten, die ihnen von ihnen zur Verfügung gestellt werden Aufruf von Containern. Die Authentifizierungsanbieter transformieren ausgehende Nachrichten, damit die Quelle jeder Nachricht authentifiziert werden kann der empfangende Container und der Empfänger der Nachricht sein können authentifiziert durch den Absender der Nachricht. Authentifizierungsanbieter Authentifizieren Sie jede eingehende Nachricht und kehren Sie zu ihrem Anruf zurück Container die Identität, die als Ergebnis der Nachricht festgelegt wurde Authentifizierung.
Die Java EE 7-Plattform benötigt JASPIC 1.1.
Java API für WebSocket
WebSocket ist ein Anwendungsprotokoll, das Vollduplex bietet Kommunikation zwischen zwei Peers über TCP. Die Java API für WebSocket Ermöglicht Java EE-Anwendungen das Erstellen von Endpunkten mithilfe von Anmerkungen die die Konfigurationsparameter des Endpunkts angeben und Legen Sie die Lebenszyklus-Callback-Methoden fest.
Die WebSocket-API ist neu auf der Java EE 7-Plattform. Die Java EE 7 Plattform benötigt Java API für WebSocket 1.0.
Java-API für die JSON-Verarbeitung
JSON ist ein textbasiertes Datenaustauschformat, das von JavaScript abgeleitet ist wird in Webdiensten und anderen verbundenen Anwendungen verwendet. Die Java API JSON-Verarbeitung (JSON-P) ermöglicht Java EE-Anwendungen das Parsen JSON-Daten mit dem Objektmodell oder dem Streaming transformieren und abfragen Modell.
JSON-P ist neu in der Java EE 7-Plattform. Die Java EE 7-Plattform benötigt JSON-P 1.0.
Concurrency Utilities für Java EE
Concurrency Utilities für Java EE ist eine Standard-API zum Bereitstellen asynchrone Funktionen für Java EE-Anwendungskomponenten durch die folgenden Arten von Objekten: Managed Executor Service, verwaltet geplanter Executor-Service, verwaltete Thread-Factory und Kontext Service.
Concurrency Utilities für Java EE ist neu in der Java EE 7-Plattform. Die Java EE 7-Plattform erfordert Concurrency Utilities für Java EE 1.0.
Batch-Anwendungen für die Java-Plattform
Batch-Jobs sind Aufgaben, die ohne Benutzerinteraktion ausgeführt werden können. Die Batch-Anwendung für die Java-Plattform-Spezifikation ist ein Batch Framework, das Unterstützung für das Erstellen und Ausführen von Batch-Jobs in bietet Java-Anwendungen. Das Batch-Framework besteht aus einer Batch-Laufzeit, einem Jobspezifikationssprache basierend auf XML, einer Java-API zur Interaktion mit die Batch-Laufzeit und eine Java-API zur Implementierung von Batch-Artefakten.
Batch-Anwendungen für die Java-Plattform sind neu in Java EE 7 Plattform. Die Java EE 7-Plattform benötigt Batch-Anwendungen für die Java-Plattform 1.0.
Um die Technologien älterer Java EE-Versionen zu überprüfen, werfen Sie einen Blick auf die folgenden Links:
Java EE 8 baut auf Java EE 7 auf (Einzelheiten finden Sie in der älteren Antwort ) und modernisiert die Unterstützung für viele Industriestandards und setzt die Vereinfachung von betriebsbereiten APIs fort.
Zu den Verbesserungen gehören:
Die folgenden JSRs sind neu oder aktualisiert in Java EE 8:
Java EE-Plattform
Webanwendungstechnologien
Enterprise-Anwendungstechnologien
Web-Services-Technologien
Verwaltungs- und Sicherheitstechnologien
Weitere Informationen finden Sie auf dieser Seite .
Weitere Informationen zu den oben aufgeführten Haupttechnologien finden Sie im Java EE-Lernprogramm . Einen guten Überblick über die wichtigsten Technologien finden Sie auf dieser Seite . Zitieren Sie es einfach hier:
Enterprise JavaBeans Technologie
Eine Enterprise JavaBeans (EJB) -Komponente oder Enterprise-Bean ist ein Rumpf Code mit Feldern und Methoden zum Implementieren von Geschäftsmodulen Logik. Sie können sich eine Enterprise-Bean als einen Baustein vorstellen, der kann alleine oder mit anderen Enterprise-Beans zur Ausführung von Geschäften verwendet werden Logik auf dem Java EE Server.
Enterprise-Beans sind entweder Session-Beans oder Message-Driven-Beans.
- Eine Session-Bean repräsentiert eine vorübergehende Konversation mit einem Client. Wenn der Client die Ausführung beendet hat, sind die Session-Bean und ihre Daten weg.
- Eine nachrichtengesteuerte Bean kombiniert Funktionen einer Session-Bean und eines Nachrichten-Listeners, sodass eine Geschäftskomponente Nachrichten empfangen kann asynchron. Üblicherweise sind dies Java Message Service (JMS) Nachrichten.
Die Java EE 8-Plattform benötigt Enterprise JavaBeans 3.2 und Abfangjäger 1.2. Die Interceptors-Spezifikation ist Teil des EJB Spezifikation.
Java-Servlet-Technologie
Mit der Java-Servlet-Technologie können Sie HTTP-spezifische Servlet-Klassen definieren. Eine Servlet-Klasse erweitert die Funktionen von Servern, die hosten Anwendungen, auf die über ein Anfrage-Antwort-Programmiermodell zugegriffen wird. Obwohl Servlets auf jede Art von Anfrage antworten können, sind sie häufig verwendet, um die Anwendungen von Webservern zu erweitern.
In der Java EE 8-Plattform neue Java-Servlet-Technologiefunktionen schließe folgendes ein:
- Server-Push
- HTTP-Trailer
Die Java EE 8-Plattform erfordert Servlet 4.0
JavaServer Faces-Technologie
JavaServer Faces-Technologie ist ein Benutzeroberflächen-Framework für das Erstellen Web Applikationen. Die Hauptkomponenten der JavaServer Faces-Technologie sind wie folgt:
- Ein GUI-Komponenten-Framework.
- Ein flexibles Modell zum Rendern von Komponenten in verschiedenen Arten von HTML oder verschiedenen Markup-Sprachen und -Technologien.Ein Renderer-Objekt generiert das Markup zum Rendern der Komponente und konvertiert die Daten gespeichert in einem Modellobjekt zu Typen, die in einer Ansicht dargestellt werden können.
- Ein Standard-RenderKit zum Generieren von HTML 4.01-Markup.
Die folgenden Funktionen unterstützen die GUI-Komponenten:
- Eingabevalidierung
- Ereignisbehandlung
- Datenkonvertierung zwischen Modellobjekten und Komponenten
- Verwaltete Modellobjekt-Erstellung
- Seitennavigationskonfiguration
- Ausdruckssprache (EL)
All diese Funktionalität ist mit den Standard-Java-APIs und verfügbar XML-basierte Konfigurationsdateien.
In der Java EE 8-Plattform neue Funktionen der JavaServer Faces-Technologie schließe folgendes ein:
- Direkte Unterstützung für WebSockets über das neue
<f:websocket>
-Tag- Validierung der Bean auf Klassenebene über das neue
<f:validateWholeBean>
-Tag- Eine CDI-kompatible
@ManagedProperty
Annotation- Erweiterter Komponenten-Suchausdruck-Framework
Die Java EE 8-Plattform benötigt JavaServer Faces 2.3 und Expression Sprache 3.0.
Eine hervorragende Zusammenfassung der Neuerungen in JSF 2.3 finden Sie unter Ссылка .
JavaServer Pages-Technologie
Mit der JavaServer Pages (JSP) -Technologie können Sie Servlet-Snippets einfügen Code direkt in ein textbasiertes Dokument. Eine JSP-Seite ist textbasiert Dokument, das zwei Arten von Text enthält:
- Statische Daten, die in einem beliebigen textbasierten Format wie HTML oder XML ausgedrückt werden können
- JSP-Elemente, die bestimmen, wie die Seite dynamischen Inhalt erstellt
Informationen zur JSP-Technologie finden Sie im Java EE 5-Lernprogramm unter Ссылка .
Die Java EE 8-Plattform benötigt JavaServer Pages 2.3 zur Kompatibilität mit früheren Versionen, empfiehlt jedoch die Verwendung von Facelets als Display-Technologie in neuen Anwendungen.
Standard-Tag-Bibliothek von JavaServer Pages
Die Standard-Tag-Bibliothek (JSTL) von JavaServer Pages kapselt den Kern Funktionalität für viele JSP-Anwendungen. Anstatt Tags zu mischen von zahlreichen Anbietern in Ihren JSP-Anwendungen verwenden Sie eine einzelne, Standardsatz von Tags. Diese Standardisierung ermöglicht Ihnen die Bereitstellung Ihrer Anwendungen auf jedem JSP-Container, der JSTL unterstützt und mehr daraus macht wahrscheinlich, dass die Implementierung der Tags optimiert ist.
JSTL verfügt über Iterator- und Conditional-Tags zum Behandeln von Ablaufsteuerungs-Tags zum Manipulieren von XML-Dokumenten, Internationalisierungs-Tags, Tags für Zugriff auf Datenbanken mit SQL und Tags für häufig verwendete Funktionen.
Die Java EE 8-Plattform benötigt JSTL 1.2.
Java-Persistenz-API
Die Java Persistence API (JPA) ist eine auf Java-Standards basierende Lösung für Beharrlichkeit. Bei der Persistenz wird ein Objekt / relationaler Mapping-Ansatz verwendet Überbrücken Sie die Lücke zwischen einem objektorientierten Modell und einem relationalen Modell Datenbank. Die Java Persistence API kann auch in Java SE verwendet werden Anwendungen außerhalb der Java EE-Umgebung. Java-Persistenz besteht aus folgenden Bereichen:
- Die Java-Persistenz-API
- Die Abfragesprache
- Objekt / relationale Zuordnungsmetadaten
Die Java EE 8-Plattform erfordert Java Persistence API 2.2.
Java-Transaktions-API
Das Java Transaction API (JTA) stellt eine Standardschnittstelle für Abgrenzungstransaktionen. Die Java EE-Architektur bietet eine Standardeinstellung Automatisches Commit, um Transaktions-Commits und Rollbacks zu verarbeiten. Ein Auto Commit bedeutet, dass andere Anwendungen, die Daten anzeigen, dies tun Sehen Sie sich die aktualisierten Daten nach jeder Lese- oder Schreiboperation an. Wenn Ihre Anwendung jedoch zwei separate Datenbankzugriffe ausführt Operationen, die voneinander abhängen, möchten Sie die JTA-API verwenden Abgrenzung, wo die gesamte Transaktion, einschließlich der beiden Operationen, beginnt, rollt zurück und legt fest.
Die Java EE 8-Plattform benötigt Java Transaction API 1.2.
Java API für RESTful Web Services
Die Java API für RESTful Web Services (JAX-RS) definiert APIs für die Entwicklung von Webservices nach dem Representational State Transfer (REST) Architekturstil. Eine JAX-RS-Anwendung ist ein Webanwendung, die aus Klassen besteht, die als Servlet in einer WAR-Datei zusammen mit den erforderlichen Bibliotheken.
In der Java EE 8-Plattform sind neue RESTful-Webservice-Funktionen enthalten das Folgende:
- Reactive Client API: Wenn die Ergebnisse eines Aufrufs für eine Zielressource empfangen werden, werden Verbesserungen an den APIs für die Abschlussphase in Java SE ermöglicht die Angabe der Reihenfolge dieser Ergebnisse, priorisiert, kombiniert oder verkettet, und wie Ausnahmen sein können abgewickelt.
- Verbesserungen bei der Unterstützung für Ereignisse, die vom Server gesendet wurden: Clients können serverausgegebene Ereignisbenachrichtigungen abonnieren, die eine lange Laufzeit haben Verbindung. Unterstützung für einen neuen Medientyp, Text / Event-Stream, wurde hinzugefügt.
- Unterstützung für JSON-B-Objekte und verbesserte Integration mit CDI-, Servlet- und Bean-Validierungstechnologien
Die Java EE 8-Plattform benötigt JAX-RS 2.1.
Verwaltete Bohnen
Managed Beans, leichte containerverwaltete Objekte (POJOs) mit minimale Anforderungen, Unterstützung einer kleinen Reihe von grundlegenden Dienstleistungen, wie z Ressourceninjektion, Lebenszyklus-Callbacks und Interzeptoren. Gelang es Beans stellen eine Verallgemeinerung der von angegebenen verwalteten Beans dar JavaServer Faces Technologie und kann überall in einer Java EE verwendet werden Anwendung, nicht nur in Web-Modulen.
Die Managed Beans-Spezifikation ist Teil der Java EE 8-Plattform Spezifikation (JSR 366). Die Java EE 8-Plattform benötigt Managed Beans 1.0.
Kontexte und Dependency Injection für Java EE
Kontexte und Dependency Injection für Java EE (CDI) definiert eine Menge von kontextabhängige Dienste, die von Java-EE-Containern zur Verfügung gestellt werden Entwickler können Enterprise-Beans zusammen mit JavaServer Faces verwenden Technologie in Webanwendungen. Entwickelt für den Einsatz mit Stateful Objekte, CDI hat auch viele breitere Anwendungen, so dass Entwickler eine große viel Flexibilität bei der Integration verschiedener Arten von Komponenten in einem locker gekoppelt aber typsicher.
In der Java EE 8-Plattform umfassen die neuen CDI-Funktionen Folgendes:
- Eine API zum Booten eines CDI-Containers in Java SE 8
- Unterstützung für die Observer-Reihenfolge, die die Reihenfolge bestimmt, in der die Observer-Methoden für ein bestimmtes Ereignis aufgerufen werden, und Unterstützung um asynchron Ereignisse auszulösen
- Konfiguratorschnittstellen, die zum dynamischen Definieren und Ändern von CDI-Objekten verwendet werden
- Integrierte Annotationsliterale, eine praktische Funktion zum Erstellen von Annotationsinstanzen und mehr
Die Java EE 8-Plattform benötigt CDI 2.0.
Abhängigkeitsinjektion für Java
Dependency Injection für Java definiert einen Standardsatz von Annotationen (und eine Schnittstelle) für injizierbare Klassen.
In der Java EE-Plattform bietet CDI Unterstützung für Dependency Injektion. Sie können Injektionspunkte nur in a verwenden CDI-fähige Anwendung.
Die Java EE 8-Plattform erfordert Dependency Injection für Java 1.0.
Bean Validierung
Die Bean-Validierungsspezifikation definiert ein Metadatenmodell und eine API für Validieren von Daten in JavaBeans-Komponenten. Anstatt zu verteilen Validierung von Daten über mehrere Ebenen wie Browser und Serverseitig können Sie die Validierungsbedingungen an einer Stelle definieren und teilen Sie sie über die verschiedenen Ebenen.
Auf der Java EE 8-Plattform gehören zu den neuen Bean-Validierungsfunktionen die Folgendes:
- Unterstützung für neue Funktionen in Java SE 8, z. B. die Date-Time-API
- Hinzufügen von neuen integrierten Bean-Validierungsbeschränkungen
Die Java EE 8-Plattform erfordert Bean Validation 2.0.
Java-Nachrichtendienst-API
Die JMS-API (Java Message Service) ist ein Nachrichtenstandard, der es ermöglicht Java EE-Anwendungskomponenten zum Erstellen, Senden, Empfangen und Lesen Mitteilungen. Es ermöglicht verteilte Kommunikation, die lose ist gekoppelt, zuverlässig und asynchron.
Die Java EE 8-Plattform benötigt JMS 2.0.
Java EE-Connector-Architektur
Die Java EE Connector-Architektur wird von Tools-Anbietern und System verwendet Integratoren zum Erstellen von Ressourcenadaptern, die den Zugriff auf Unternehmensinformationssysteme, die an jede Java EE angeschlossen werden können Produkt. Ein Ressourcenadapter ist eine Softwarekomponente, die Java erlaubt EE-Anwendungskomponenten für den Zugriff und die Interaktion mit dem zugrunde liegenden Element Ressourcenmanager des EIS. Weil ein Ressourcenadapter spezifisch ist Im Ressourcenmanager ist normalerweise ein anderer Ressourcenadapter vorhanden für jede Art von Datenbank oder Unternehmensinformationssystem.
Die Java EE Connector-Architektur bietet auch eine leistungsorientiert, sicher, skalierbar und nachrichtenbasiert Transaktionsintegration von Java EE-Plattform-basierten Web-Services mit vorhandene EIS, die entweder synchron oder asynchron sein können. Bestehende über den Java EE Connector integrierte Anwendungen und EIS Die Architektur in die Java EE-Plattform kann als XML-basiertes Web dargestellt werden Services mithilfe von JAX-WS- und Java EE-Komponentenmodellen. Also JAX-WS und Die Java EE Connector Architecture sind komplementäre Technologien für Enterprise Application Integration (EAI) und End-to-End-Geschäft Integration.
Die Java EE 8-Plattform benötigt Java EE Connector Architecture 1.7.
JavaMail API
Java EE-Anwendungen verwenden die JavaMail-API zum Senden von E-Mail-Benachrichtigungen.Die JavaMail-API besteht aus zwei Teilen:
- Eine Schnittstelle auf Anwendungsebene, die von den Anwendungskomponenten zum Senden von Mail verwendet wird
- Eine Service Provider-Schnittstelle
Die Java EE-Plattform enthält die JavaMail-API mit einem Dienstanbieter Dadurch können Anwendungskomponenten Internet-Mail senden.
Die Java EE 8-Plattform benötigt JavaMail 1.6.
Java-Autorisierungsvertrag für Container
Die Java Authorization Contract für Container (JACC) Spezifikation definiert einen Vertrag zwischen einem Java EE-Anwendungsserver und einem Autorisierungsrichtlinienanbieter. Alle Java EE-Container unterstützen dies Vertrag.
Die JACC-Spezifikation definiert java.security.Permission-Klassen, die das Java EE-Autorisierungsmodell erfüllen. Die Spezifikation definiert die Bindung von Container-Zugriffsentscheidungen an Operationen auf Instanzen von diese Berechtigungsklassen. Es definiert die Semantik von Richtlinienanbietern die die neuen Berechtigungsklassen verwenden, um die Autorisierung zu adressieren Anforderungen der Java EE-Plattform, einschließlich der Definition und Verwendung von Rollen.
Die Java EE 8-Plattform benötigt JACC 1.5.
Java-Authentifizierungs-Service-Provider-Schnittstelle für Container
Die Java Authentication Service Provider-Schnittstelle für Container (JASPIC) Spezifikation definiert eine Service Provider Schnittstelle (SPI) durch welche Authentifizierungsanbieter die Nachrichtenauthentifizierung implementieren Mechanismen können in Client- oder Server-Nachrichtenverarbeitung integriert sein Container oder Laufzeiten. Authentifizierungsanbieter integriert durch Diese Schnittstelle arbeitet mit Netzwerknachrichten, die ihnen von ihnen zur Verfügung gestellt werden Aufruf von Containern. Die Authentifizierungsanbieter transformieren ausgehende Nachrichten, damit die Quelle jeder Nachricht authentifiziert werden kann der empfangende Container und der Empfänger der Nachricht sein können authentifiziert durch den Absender der Nachricht. Authentifizierungsanbieter Authentifizieren Sie jede eingehende Nachricht und kehren Sie zu ihrem Anruf zurück Container die Identität, die als Ergebnis der Nachricht festgelegt wurde Authentifizierung.
Die Java EE 8-Plattform benötigt JASPIC 1.1.
Java EE-Sicherheits-API
Der Zweck der Java EE Security API-Spezifikation ist die Modernisierung und vereinfachen Sie die Sicherheits-APIs durch gleichzeitiges Einrichten von common Ansätze und Mechanismen und Entfernen der komplexeren APIs von der Entwickleransicht, wo möglich. Java EE Security führt die folgende APIs:
SecurityContext
interface: Bietet einen gemeinsamen, einheitlichen Zugangspunkt, der es einer Anwendung ermöglicht, Aspekte von Anruferdaten zu testen und zu gewähren oder den Zugriff auf Ressourcen verweigern.HttpAuthenticationMechanism
interface: Authentifiziert Aufrufer einer Webanwendung und wird nur zur Verwendung im Servlet angegeben Container.IdentityStore
interface: Stellt eine Abstraktion eines Identitätsspeichers bereit und kann zur Authentifizierung von Benutzern und zum Abrufen von Aufrufern verwendet werden Gruppen.Die Java EE 8-Plattform erfordert Java EE Security API 1.0.
Java API für WebSocket
WebSocket ist ein Anwendungsprotokoll, das Vollduplex bietet Kommunikation zwischen zwei Peers über TCP. Die Java API für WebSocket Ermöglicht Java EE-Anwendungen das Erstellen von Endpunkten mithilfe von Anmerkungen die die Konfigurationsparameter des Endpunkts angeben und Legen Sie die Lebenszyklus-Callback-Methoden fest.
Die Java EE 8-Plattform benötigt Java API für WebSocket 1.1.
Java-API für die JSON-Verarbeitung
JavaScript Object Notation (JSON) ist ein textbasiertes Datenaustauschformat abgeleitet von JavaScript, das in Webdiensten und anderen verwendet wird verbundene Anwendungen Die Java-API für die JSON-Verarbeitung (JSON-P) ermöglicht Java EE-Anwendungen das Analysieren, Transformieren und Abfragen von JSON-Daten Verwenden des Objektmodells oder des Streaming-Modells.
Auf der Java EE 8-Plattform bieten neue Funktionen von JSON-P Unterstützung für das Folgende:
- JSON-Zeiger: Definiert eine Zeichenfolgensyntax für die Referenzierung eines bestimmten Werts in einem JSON-Dokument. JSON Pointer enthält APIs für Extrahieren von Werten aus einem Zieldokument und Umwandeln in Erstellen Sie ein neues JSON-Dokument.
- JSON-Patch: Definiert ein Format zum Ausdrücken einer Folge von Operationen, die auf ein JSON-Dokument angewendet werden sollen.
JSON Merge Patch: Definiert ein Format und Verarbeitungsregeln für das Anwenden von Operationen auf ein JSON-Dokument, die auf einem bestimmten Inhalt von JSON basieren das Zieldokument.
Das Hinzufügen von Bearbeitungs- und Transformationsfunktionen zur grundlegenden JSON-Dokumentverarbeitung.
Hilfsklassen und -methoden namens JSON Collectors, die die Funktionen der in Java SE 8 eingeführten Stream-API nutzen.
Die Java EE 8-Plattform benötigt JSON-P 1.1.
Java-API für die JSON-Bindung
Die Java-API für JSON-Bindung (JSON-B) bietet eine Bindungsschicht für Konvertieren von Java-Objekten in und aus JSON-Nachrichten.JSON-B auch unterstützt die Möglichkeit, den Standardzuordnungsprozess anzupassen, der in verwendet wird Diese Bindungsschicht durch die Verwendung von Java-Annotationen für eine gegebene Feld, JavaBean-Eigenschaft, Typ oder Paket oder durch Angabe eines Implementierung einer Eigenschaftsbenennungsstrategie.
JSON-B ist neu in der Java EE 8-Plattform. Die Java EE 8-Plattform erfordert JSON-B 1.0.
Concurrency Utilities für Java EE
Concurrency Utilities für Java EE ist eine Standard-API zum Bereitstellen asynchrone Funktionen für Java EE-Anwendungskomponenten durch die folgenden Arten von Objekten: Managed Executor Service, verwaltet geplanter Executor-Service, verwaltete Thread-Factory und Kontext Service.
Die Java EE 8-Plattform erfordert Concurrency Utilities für Java EE 1.0.
Batch-Anwendungen für die Java-Plattform
Batch-Jobs sind Aufgaben, die ohne Benutzerinteraktion ausgeführt werden können. Die Batch-Anwendung für die Java-Plattform-Spezifikation ist ein Batch Framework, das Unterstützung für das Erstellen und Ausführen von Batch-Jobs in bietet Java-Anwendungen. Das Batch-Framework besteht aus einer Batch-Laufzeit, einem Jobspezifikationssprache basierend auf XML, einer Java-API zur Interaktion mit die Batch-Laufzeit und eine Java-API zur Implementierung von Batch-Artefakten.
Die Java EE 8-Plattform benötigt Batch-Anwendungen für Java Plattform 1.0.
Tags und Links java-ee