Kapitel 2 - Java und JavaEE Flashcards
Java Speichermanagement
- JVM übernimmt Garbage Collection
- Speicher wird in regelmäßigen Abständen freigegeben, wenn keine Referenz auf Objekt
- Vorteil: Keine Fehler bei Speicherverwaltung durch Entwickler
- Nachteil: Kein Einfluss auf Speichermanagement durch Entwickeler
Welche Formate gibt es für Java Kompilate? - Nennen Sie Infos dazu.
- JAR: Sammlung von Java Klassen
- WAR: Zusätzliche Assets für Webanwendungen
- EAR: Mehrere WARs und JARs
Was wird durch die Annotation @RequestMapping gesetzt?
- URL Pfadsegment
Was ist die Funktion JAAS (Java Authentication and Authorization Service)?
- Authentifizierung und Autorisierung in Enterprise Anwendungen mit einheitlichen Interfaces
- Möglichkeit der Adaption an die jeweilige Infrastruktur
Was ist die Funktion von JSP (Java Server Pages)?
Dateiformat zur Gestaltung von Internetseiten in Verbindung mit Java-Code
Welches Interface muss implementiert werden, damit eigene Klasse mit Servlet API kommunizieren kann?
- HttpServlet
Welche Stub-Methoden müssen implementiert werden, damit eigene Klasse zum Servlet wird?
- GET
- POST
- PUT
- DELETE
Was steht in der .faces-config.xml?
- Definition der Managed-Beans mit ihren Kontexten, Properties und Scopes
- Definition eigender UI Komponenten
- Navigationsregeln für Übergang zwischen Views
- Message Bundles
Wie schauen View-Definitionen im JSF aus?
- Sind XML-Dateien
- “xmlns=PATH” –> Namespace Importe
- “composition” –> Root
- “template” –> Zeigt, dass Datei ein Fragment ist, das innerhalb des Hauptanzeigebereichs angezeigt werden soll
- “view” –> Angabe, dass es sich um eine View handelt
Warum wird Java im Umfeld von Webapplicationen eingesetzt? (Vorteile Java)
- Weite Verbreitung im Enterprise-Umfeld
- auf vielen Betriebssystemplattformen anwendbar
- Breit gefächerter Technologie Stack
- Unterstützung von Spezifikation durch verschiedene Unternehmen
- Viele Open Source Implementierungen verfügbar
Was ist Java EE?
- Spezifikation einer Software-Architektur für die Ausführung von Web Anwendungen
- Erweiterung der Java API für Enterprise Anwendungen bzgl. Performance und Skalierbarkeit
JavaEE kann als Paket einzelner Spezifikationen gesehen werden. Nennen Sie diese und jeweils Beispiele.
- Webservice
- JAX-RS
- JAX-WS
- Webapplicationen
- JSP
- JSF
- Enterprise Applicationen
- JPA
- JTA
- Security
- JAAS
Was ist die web.xml Datei?
- Ausgangspunkt für Servlet Container beim Deployment einer Wenanwendung
- Servlet Container suchen beim Deployment nach dem Entpacken gezielt diese Datei und Initialisieren die Anwendung gemäß dieser Konfiguration
Was ist ein Servlet Container?
- Container von Servlets
- Mit Container ist es möglich, Webseiten dynamisch aufzubauen
- Ohne Container wären nur statische Webseiten möglich
- Dadurch sind Threads möglich (parallel mehrere Requests abarbeiten)
Was ist ein Servlet?
- Schnittstelle, die HTTP Anfragen verarbeitet (Request und Response)
- besteht unter anderem aus Funktionen [init(), service(), destroy()]
Was sind die Vorteile der Servlet API?
- Kapselung des HTTP Protokolls (Request, Response, Cookies Header=
- Binden von Klassen an URLs
- Unterstützung von Web-Sessions
Was sind die Vorteile der Servlet API?
- Kapselung des HTTP Protokolls (Request, Response, Cookie Header)
- Binden von Klassen an URLs
- Unterstützung von Web-Sessions
Was sind die Vorteile von Annotations?
- Info wird direkt an Code gebunden -> Bessere Nachvollziehbarkeit
- Kürzere Ausdrücke -> weniger Schreibaufwand
Welche Informationen stellt die web.xml einer Webanwendung bereit?
- Metainfo (z. B. Name einer App)
- Servlets (Servlet-Name, Servlet-Klassenname)
- URL-Bindings (Servlet-Mapping)
- Referenzen und Ressourcen im Applicationsserver
Was sind die Besonderheiten der Programmierung in Java?
- Java ist stark typisiert und objektorientiert
- Quelltext wird vom Java Compiler in Byte-Code übersetzt
- Zur Ausführung wird JRE benötigt
- dadurch ist Code auf allen Systemen ausführbar
Wozu dienen Annotations?
- Metainfo zur Laufzeit
- Hinweise für Compiler und Laufzeitumgebung
Durch welche Annotation wird eine Klasse zum WebController?
@Controller
Was sind Nachteile von Annotations?
- Bei Änderungen muss neu kompiliert und gepackt werden
- Metainfos können nur durch aufwendiges Dekompilieren nachvollzogen werden
Wie ist die Verzeichnisstruktur einer Webanwendung?
- / –> Root
- /WEB-INF –> geschütztes Verzeichnis - Inhalte werden nicht ausgeliefert
- /WEB-INF/web.xml –> Deployment-Deskriptor für Webanwendungen
- /WEB-INF/lib –> .jar Bibliotheken
- /WEB-INF/classes –> .class Dateien
Was ist die Funktion von JMS (Java Messaging Service)?
- Stellt Broker-Interfaces und Verfahren zur Realisierung von Message-oriented Middleware zur Verfügung
Was ist JAX-WS (Java API for XML Web-Services)?
API zur Erstellung von SOAP basierten Webservices
Was ist JAX-RS (Java API for RESTful-Services)?
API zur Erstellung von REST basierten Services