Matura: Softwareentwicklung & Informationssysteme

Servlets: Grundstruktur und DB-Anbindung

Kommunikationsablauf bei Java Servlets (Reihenfolge, beteiligte Klassen mit Funktionen, beteiligte „Dateitypen“ mit Beschreibung)

Lebenszyklus eines Java Servlets

Der Lebenszyklus eines Servlets im Detail:

Quelle: Webanwendungen_Java_Einfuehrung (S. 43-45)

Was ist ein Deployment Descriptor? Wie wird er verwendet?

<servlet>
    <servlet‐name>MyName</servlet‐name>
    <servlet‐class>myPackage.MyServlet</servlet‐class>
</servlet>

<servlet‐mapping>
    <servlet‐name>MyName</servlet‐name>
    <url‐pattern>/MyAddress</url‐pattern>
</servlet‐mapping>

Quelle:

Kann der Deployment Descriptor ersetzt werden?

@WebServlet("/my‐address")
@WebServlet(name="HelloHTLServlet", urlPatterns = "/HelloHTLServlet")
public class MyServlet extends HttpServlet { 
    ...
}

Quelle: Webanwendungen_Java_Einfuehrung (S. 26)

Wie kann ich die Bearbeitung auf mehrere Servlets aufteilen?

Wie verarbeite ich Benutzereingaben in einer HTML-Seite?

GET-Formular POST-Formular

Quelle: Webanwendungen_Java_Eingaben_Forms (S. 10)

Welche Konsequenzen hat die Multithreading-Eigenschaft eines Servlets (wer kümmert sich um die Ressourcen, start/stop des Threads)?

Was versteht man unter einem „Redirect“? Wie kann dies via Servlets realisiert werden und wozu setzt man dies ein?

@WebServlet("/wrong-destination")
public class WrongDestination extends HttpServlet {
    
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String userAgent = request.getHeader("User-Agent");
        
        if ((userAgent != null) && (userAgent.contains("MSIE")) {
            response.sendRedirect("http://home.mozilla.com");
        } else {
            response.sendRedirect("http://www.microsoft.com");
        }
    }
}

Quelle:

Wie kann ein Servlet parametrisiert werden und wie werden Ressourcen (z.B. DB-Connection) angefordert bzw. wieder frei gegeben.

Wie können Annotations eingesetzt werden (Beispiel)?

Wozu braucht man bei Servlets einen Kontext?

Art der Variable Sichtbarkeit Lebensdauer
Attribute eines ServletContext Alle Servlets im ServletContext Bis zum Ende der WebApplikation
Attribute einer Session Servlets im ServletContext, die Requests der Session behandeln Bis zum Ablauf der Session
Instanzvariablen eines Servlet Methoden des Servlet Servlet.init() bis Servlet.destroy()
Attribute eines ServletRequest Servlets, die den Request behandeln Bis zum Ende der Request-Behandlung

Quelle: Webanwendungen_Java_Eingaben_Forms (S. 26-27)

Wodurch unterscheidet sich ein Servlet und ein normales Java-Programm?

Quelle: Webanwendungen_Java_Einfuehrung (S. 10)

Aufbau einer URL für den Aufruf eines Servlets (Beispiel).

Quelle: Webanwendungen_Java_Einfuehrung (S. 26)

Vorteile\Nachteile von Servlets gegeüber anderen Web-Frameworks?

Quelle: https://www.itwissen.info/Servlet-servlet.html