Java Webcontainer/ Servlets Flashcards
1
Q
Wiederholung: Serverseitiger Code
A
- Webserver empfängt HTTP-Anfrage
- Server führt Skript, um Antwort auf Anfrage zu generieren
- Skript hat auf alle Daten von HTTP-Anfrage Zugriff
- weiß, welche URL aufgerufen& welche Parameter übergeben
- Skript erzeugt HTTP-Antwort, Übergabe an Server
- Server fügt generierte Antwort weitere Header Fields hinzu & schickt Antwort zurück an Client
Sk
2
Q
Wiederholen: Aktive Serverseiten
A
- Webserver empfängt HTTP-Anfrage
- Da Anfrage auf normales HTML. Dokument bezogen ist, Suche im Dateisystem nach Dokument
- Dokument erhält HTML & Programmcode, muss erst Interpreter übergeben werden
- Interpreter führt in Dokument eingebundenen Programmcode aus und gibt Ergebnis an Server
- Werserver erzeugt vollständige HTTP-Antwort aus Ergebnis und schickt sie an Client
3
Q
Webanwendung in Java
A
- Entwicklung in geschlosssene Komponenten
- spezielle Laufzeitumgebung
Webanwendung im sog. Webcontainer
- stellt Java basierten Webcontainer dar
- Laufzeitumgebung für Servlets & Java Server Pages
- technische Grundlage für weiterreichende Webframeworks
4
Q
Javabasierte Webanwendungen
A
- Webcontainer erhält HTTP-Anfrage
- Für jede anfragebare URL gibt es eine Klasse (Servlet –> kann Anfrage bearbeiten
- Für Anfragebearbeitung: Aufruf Container von spezieller Methode des Servletsobjekts
- innerhalb Methode: Erzeugen zurückzuschickender Daten
- Server wandelt generierte Antwort in HTTP-Antwort um und schickt sie zurück an Client
5
Q
Servlets
A
- prinzipiell serverseitiger Code
- Selbstprogrammierte Klassen, reagieren auf HTTP-Anfragen
- HTTP-Anfrage an Servlet delegiert
- Kommunikation mit Client durch Container
6
Q
Vorteile Servlets
A
- einmal geladen –> bliebt im Speicher
- Ausführung in Threads, nicht in Prozessen
- Hohe Geschwindigkeit durch kompilieren
- plattform unabhängig
- einfacher Zugang zu fast alles Java APIS
7
Q
neue Begriffe, Servlets
A
- Webcontainer (Applikationsserver)
- Laufzeitumgebung für Webanwendungen
- bietet vorgegebene Klassen
- Servlets
- Softwarekomponente einer Webanwendung
- Aufruf Webcontainer bei jeder HTTP-Anfrage
- Erzeugung Objekte von Webcontainer
- Deployment
- Hochladen Webanwendung im Container
- Anwendung als Webarchiv gepackt
- in vorgegebenen Verzeichnis kopiert
8
Q
Container der Java Enterprise Edition
A
9
Q
Komponenten des Webcontainers
A
10
Q
Komponenten des Webcontainers
- Welches Objekt macht was?
A
- Servletobjekt
- reagiert auf HTTP Anfragen mit Antwort
- Methoden zur Protokollierung im Serverprotokoll
- Methoden für ZUgriff auf Servlet Context
- Requestobjekt
- kapselt empfangene HTTP- Anfrage
- Methoden für:
- Zugriff Session & Session Context
- Lesen & Schreiben von Cookies
- um Informationen über Client zu ermitteln
- Responseobjekt
- kapselt die zusendende HTTP-Antwort
- Methode zum Erzeugen PrintWriter für Antwort
11
Q
Javax.servlet.*-Pakete
A
12
Q
Servlet- Interface
A
- definiert Vertrag mit Container
- gemeinsames Basisinterface aller Servletobjekte
- schreibt Lebenszyklusmethoden vor
- legt fest, wie Anfragen bearbeitet werden
- Methode service() bearbeitet alle Anfragen
- Bekommt ServletRequest-Objekte übergeben
- bekommt ServletResponse- Objekte übergeben
- wirft ServletExceptoin oder IOExeption
- public void init() oder (ServletConfig config)
- Initialisierung Servlet durch Container
- nur eine der beiden Methoden darf implementiert werden
- in zweiter muss super.init(config) aufgerufen werden
- öffnen z.B. Datenbankverbindungen
- public void destroy()
- Aufruf, wenn Servlet nicht mehr benötigt
- public void service(ServletRequest, ServletResponse)
- Bearbeitermethode eintreffender Anfrage
- Implementierung Geschäftslogik Servlet
13
Q
Servlet Lebenszyklen
A
14
Q
Klasse GenericServlet
A
- implementiert Servlet-Interface –> kann als Oberklasse beliebiger Servlets genutzt werden
- vereinfacht Programmierung von Servlets
- Erben von Klassen anstatt implementieren von Interfaces
- beinhaltet leere Implentierungen für alle Servletmethoden
- nur service() muss überschrieben werden
- beinhaltet zusätzlich nützliche Hilfsmethoden
- Protokolleinträge ins Serverprotokoll schreiben
- Zugriff allgemeiner Servlet Context
15
Q
Klasse HttpServlet
A
- erweitert Klasse GenericServlet
- dient als Basisklasse für eigene HTTP-Servlets
- definiert Handlermethode je HTTP-Verb –> mind eine überschreiben
- spezielle Obkelte Anfrage/Antwort
- HTTP-Anfrage: HTTPServletRequest
- HTTP-Antwort: HTTPServletResponse