Java Webcontainer/ Servlets Flashcards

1
Q

Wiederholung: Serverseitiger Code

A
  1. Webserver empfängt HTTP-Anfrage
  2. Server führt Skript, um Antwort auf Anfrage zu generieren
  3. Skript hat auf alle Daten von HTTP-Anfrage Zugriff
    • weiß, welche URL aufgerufen& welche Parameter übergeben
  4. Skript erzeugt HTTP-Antwort, Übergabe an Server
  5. Server fügt generierte Antwort weitere Header Fields hinzu & schickt Antwort zurück an Client

Sk

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

Wiederholen: Aktive Serverseiten

A
  1. Webserver empfängt HTTP-Anfrage
  2. Da Anfrage auf normales HTML. Dokument bezogen ist, Suche im Dateisystem nach Dokument
  3. Dokument erhält HTML & Programmcode, muss erst Interpreter übergeben werden
  4. Interpreter führt in Dokument eingebundenen Programmcode aus und gibt Ergebnis an Server
  5. Werserver erzeugt vollständige HTTP-Antwort aus Ergebnis und schickt sie an Client
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Javabasierte Webanwendungen

A
  1. Webcontainer erhält HTTP-Anfrage
  2. Für jede anfragebare URL gibt es eine Klasse (Servlet –> kann Anfrage bearbeiten
  3. Für Anfragebearbeitung: Aufruf Container von spezieller Methode des Servletsobjekts
  4. innerhalb Methode: Erzeugen zurückzuschickender Daten
  5. Server wandelt generierte Antwort in HTTP-Antwort um und schickt sie zurück an Client
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Servlets

A
  • prinzipiell serverseitiger Code
    • Selbstprogrammierte Klassen, reagieren auf HTTP-Anfragen
    • HTTP-Anfrage an Servlet delegiert
    • Kommunikation mit Client durch Container
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Container der Java Enterprise Edition

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

Komponenten des Webcontainers

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Javax.servlet.*-Pakete

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Servlet Lebenszyklen

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

MethodenHttpServlet

A

*