1Struktur .war File
WEB-INF
--classes
-----(kompilierter Sourcecode)
--lib
-----(Dependencies)
--web.xml
2Was steht im web.xml file?
Wo soll welche Anfrage hin. Servlets, Filter und Listener Registrationen
3Was ist der Serlvet Kontext?
ein Web App
4Filter mit Annotation definieren
@WebFilter
5Was ist der Servlet Container?
der ganze Server
6dynamische Files
private = nicht über die URL direkt zugreifbar, die webapp in den class-files, jar-bibliothek
7statische Files
public = über URL direkt zufreifbar (zB Bilder, dokumente)
8Was definiert den Namen der Webapp?
Name des Projektordners
9anderer Name für web.xml
Deployment Descriptor
10Wie wird ein Servlet registriert und gemapped?
11inhalt der .war Datei anzeigen
jar -tvf beispiel.war
12Klassenstruktur Servlet
1) definiert Methoden eines Servlets
2) Implementiert Basis Methoden
3) Implementiert HTTP Methoden zB doGet, doPost
4) Eigene Implementierung der HTTP Methoden

13Response Object
.getOutputStream() -> Objekt vom Typ ServletOutputStream
.getWriter() -> Objekt vom Typ printwriter für textuellen inhalt zB html
14Servlet Phasen
1) Servlet Klasse laden
2) instanziieren
3) init(ServletConfig) -> wird nur einmal, nicht bei jedem Request aufgerufen
4) Service(servletRequest, SerlvetResponse)
5) destroy()
15Wofür sind Filter da
Funktionalität hinzufügen, die nicht direkt mit dem Servlet zu tun hat. -> Servlet weiss nichts davon
16Designpatterns Filter
1) Interceptor Pattern (Funktionalität wird zwischengeschalten mit identischer Schnittstelle)
2) Chain of Responsibility (Requests werden von Filter zu Filter weitergegeben)
17Reihenfolge mehrere Filter
Reihenfolge des Erscheinens im web.xml in der Chain, werden nacheinander abgearbeitet bis zu Servlet
18Was ist ein Servlet Listener?
reagiert auf Ereignisse des Servlet Containers, implementiert ServletListener Interface, ist ein Singleton
19Welche Listener Interfaces gibt es?
1) ServletContextListener
2) ServletContextAttributeListener
3) HttpSessionListener
4) HttpSessionAttributeListener
5) HttpSessionBindingListener
6) HttpSessionActivationListener
7) ServletRequestListener
8) ServletRequestAttributeListener
20Wofür kann ein Listener verwendet werden?
zB DB aufstarten. Prozesse die nicht in den Aufgabenbereich des Servlets fallen, aber abhängig von dessen Kontext sind zB.
21Welche Schritte sind nötig, um einen Listener zu implementieren?
1) Listener muss implementiert und entsprechend annotiert werden
2) Listener muss im web.xml registreiert werden
(same, same für Filter)
22Welchem Pattern folgt das Servlet?
Singleton, es gibt immer nur genau eine Instanz eines bestimmten Servlets pro Webanwendung
23Worauf hat man in den Verarbeitungsmethoden eines Servlets immer Zugriff?
Objekt des Typs ServletRequest
24doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
Wird auf jedem Request, dem ein Filter zugeordnet ist aufgerufen

25ResponseWrapper
Wird gebraucht, um nach Verlassen des Servlets die Response noch zu verändern.
26Info von einem Servlet an das andere übertragen
über den ServletContext. Eine Klasse schreibt mit setAttribute(name, value), zweite Klasse liest mit getAttribute()