Kapitel 5 - Servlets Flashcards

1
Q

Was sind Servlets?

A

Prinzipiell handelt es sich um serverseitigen Code

  • Selbstprogrammierte Klassen, die auf HTTP-Anfragen reagieren
  • HTTP-Anfragen werden an die Servlets delegiert
  • Kommunikation mit dem Client durch den Container
  • Softwarekomponenten einer Webanwendung
  • Aufruf vom Webcontainer bei jeder HTTP-Anfrage
  • Objekte werden vom Webcontainer erzeugt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind die Vorteile von Servlets gegenüber anderen Programmiersprachen?

A
  • Einmal geladene Servlets bleiben im Speicher
  • Ausführung erfolgt in Threads statt in Prozessen
  • Hohe Geschwindigkeit, da Servlets kompiliert werden
  • Dank Java automatisch plattformunabhängig
  • Einfacher Zugang zu fast allen Java APIs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist ein Webcontainer?

A
  • Stellt in Java programmierten Webserver dar
  • Laufzeitumgebung für Servlets und Java Server Pages
  • Technische Grundlage für weitreichende Webframeworks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie funktioniert der Webcontainer? (5)

A
  1. ​Der Webcontainer empfängt eine HTTP-Anfrage
  2. Zu jeder anfragbaren URL existiert eine Klasse (Servlet), welche die Anfrage bearbeiten kann
  3. Um die Anfrage zu bearbeiten, muss der Container nur eine spezielle Methode des entsprechenden Servletobjekts aufrufen
  4. Innerhalb der Methode müssen die zurückschickenden Daten erzeugt werden
  5. Der Server wandelt die generierte Antwort in eine HTTP-Antwort um. Anschließend schickt er die ANtwort zurück an den Client
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nennen Sie 3 Komponenten des Webcontainers

A
  • Servletobjekt
  • Requestobjekt
  • Responseobjekt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was macht das Servletobjekt?

A
  • Reagiert auf HTTP-Anfragen mit einer Antwort
  • Methoden zur Protokollierung im Serverprotokoll
  • Methoden für den Zugriff auf den Servlet COntext
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was macht das Requestobjekt?

A
  • Kapselt die empfangene HTTP-Anfrage
  • Methoden für den Zugriff auf die Session und den Session Context
  • Methoden zum Lesen und Schreiben von Cookies
  • Methoden zum Lesen und Schreiben von Anfrageparametern
  • Methoden, um Informationen über den Client zu ermitteln
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was macht das Responseobjekt?

A
  • Kapselt die zu sendende HTTP-Antwort
  • Methode zum Erzeugen eines PrintWriter für die Antwort
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist das Servlet-Interface?

Gehen Sie hierbei auch auf die Methode service() ein!

A

Definiert den Vertrag mit dem Container

  • Gemeinsames Basisinterface aller Servletobjekte
  • Schreibt die Lebenszyklusmethoden vor
  • LEgt fest, wie Anfragen bearbeitet werden

Methode service() bearbeitet alle Anfragen

  • Bekommt ein ServletRequest-Objekt übergeben
  • Bekommt ein ServletResponse-Objekt übergeben
  • Wirft ServletException oder IOException
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie funktioniert das Deployment von Servlets?

A
  • Kein direktes Hochladen auf den Server wie bei einer statischen Webseite möglich
  • Servlets werden stattdessen als Web-Archiv deployed
  • Die Ordnerstruktur muss eingehalten werden
  • Der Deploymentdeskriptor ist ab Java7 optional
  • Das Archiv enthält auch benötigte Ressourcen wie HTML-Dateien, Stylesheets und Bilder
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist der Deploymentdeskriptor? (4)

Welche Angaben müssen mindestens beinhaltet sein? (5)

A
  • XML-Konfigurationsdatei einer Webanwendung
  • Dient der Konfiguration des Deployments
  • Wird zunehmend durch Annotationen im Quellcode ersetzt
  • Ablageort im Web-Archiv: /WEB-INF/web.xml

Beinhaltet mindestens folgende Angaben

  • Benennung aller verwendeten Servlets
  • Initialisierung der Servlets mit Parametern
  • Mapping von URLs zu Servlets
  • Initialisierung und Mapping von Filter Objekten
  • Konfiguration von Session Listener Objekten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie verwendet man die 3 Kontexte?

A
  • Jedes Servlet hat Zugriff auf drei Kontextobjekte, um darin Objekte zwischen mehreren Aufrufen zwischenzuspeichern
  • Verwaltung eines serverseitigen Zustands je Besucher
  • Wiedererkennung eines Besuchers anhand einer Session ID
  • Notwendig, um Logins / Warenkörbe…abzubilden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nennen Sie die Methoden der Kontextobjekte. (4)

A

public void setAttribute(String name, Object value)

public Object getAttribute(String name)

public void removeAttribute(String name)

public Enumeration<string> getAttributeNames()</string>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Beschreiben Sie den Servlet Context und dessen Methoden (5)

A

Übergreifender Kontext für die gesamte Anwendung

Genau ein Servlet Context je Webanwendung

Zugriff durch: this.getServletContext

Methoden des Interfaces ServletContext

  • Methoden, um Objekte an den Kontext zu binden
  • Auslesen verschiedener Containerdaten (Version, …)
  • Erzeugen von und Zugriff auf Filter
  • Erzeugung und Zugriff auf Session Listener
  • Auslesen der Initialisierungsparameter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Beschreiben Sie den Session Context und dessen Methoden (4)

A

Repsärsentiert eine Sitzung mit einem Benutzer

Überweindet die Zustandslosigkeit von HTTP

Fasst mehrere Seitenaufrufe logisch zusammen

Zugriff durch: request.getSession

Methoden des Interfaces HttpSession

  • Methoden, um Objekte an den Kontext zu binden
  • Sitzung beenden, Abfrage auf neue Sitzung
  • Festlegen des Timeouts, nachdem die Sitzung verfällt
  • Zugriff auf den Servlet Context
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Beschreiben Sie den Request Context und dessen Methoden (5)

A

Stellt eine bearbeitete HTTP-Anfrage dar

Wird dem Servlet als Methodenparameter übergeben

Weitergabe von Parametern von einer Weiterleitung

Methoden des Interfaces HttpServletRequest

  • Methoden, um Objekte an den Kontext zu binden
  • Authentifizierung eines Benutzers am Container
  • Auslesen einzelner Werte der HTTP-Anfrage
  • Erzeugen eines Dispatchers für Weiterleitungen
  • Zugriff auf den Session Context
17
Q

Beschreiben Sie den Einsatz des Request Context (4)

A
  1. Der Anwender setzt eine neue Anfrage ab, die durch ein Request Object dargestellt wird
  2. Der Request Context wird dem aufgerufenen Servlet übergeben
  3. Das Servlet bindet ein Objekt an den Context. Anschließend wird die Bearbeitung an ein anderes Servlet weitergeleitet
  4. Dem neuen Servlet wird derselbe Request Context übergeben, so dass es das Objekt aus dem Kontext auslesen kann.
18
Q

Nennen Sie die Vorteile von Servlets (5)

A
  • Relativ einfach zu programmieren
  • Aufgrund der Einfachheit sehr flexibel und perfomant
  • Bilden die technische Basis aller Java-Webframeworks
  • Nicht an HTML als Ausgabeformat gebunden
  • Können auch Grafiken und Binärdaten erzeugen
19
Q

Nennen Sie die Nachteile von Servlets (3)

A
  • ​Keine direkte HTML-Programmierung möglich
  • Java-Kenntnisse erforderlich, ungeeignet für Webdesigner
  • Viel mehr Tippaufwand als bei anderen Web-Frameworks