Matura: Softwareentwicklung & Informationssysteme

Servlets: Session Tracking und DB-Anbindung

Session Tracking

Quelle: Webanwendungen_Java_Sessions (S. 12)

Servlet API und Session Tracking

Quelle: Webanwendungen_Java_Sessions (S. 13-15)

Überblick Session

Quelle: Webanwendungen_Java_Sessions (S. 11)

Variablen (implizite Objekte)

Quelle: https://homepages.thm.de/~hg10013/Lehre/MMS/SS01_WS0102/JSP/implizitobj.html

Request Dispatcher, Methoden, Redirect, Synchronisieren oder nicht?

forward-Methode include-Methode

Quelle:

Cookies: Definition, Eigenschaften, Lebensdauer, Erzeugen, Löschen, Sicherheit

Beispiel:

// Erzeugen eines Cookie Objekts.
Cookie c = new Cookie("userID", "a1234");

// Die maximale Lebensdauer festlegen
// Cookie wird dann auf Platte gespeichert.
c.setMaxAge(60*60*24*7); // 1 Woche
// Wenn nicht gesetzt, dann Lebensdauer = Sessiondauer

// Cookie an den Browser schicken
response.addCookie(c);

// Löschen eines Cookies
c.setMaxAge(0);
// Cookie auslesen
String cookieName = "userID";
Cookie[] cookies = request.getCookies());

if (cookies != null) {
    for (Cookie cookie : cookies) {
        if (cookieName.equals(cookie.getName())) {
            doSomethingWith(cookie.getValue());
        }
    }
}

Quelle:

Was sind Filter und wie verwendet man sie?

Beispiel:

@WebFilter("/AuthenticationFilter")
<filter>
    <filter-name>AuthenticationFilter</filter-name>
    <filter-class>com.filters.AuthenticationFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>AuthenticationFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    ...

    if (session == null && !(uri.endsWith("html") || uri.endsWith("Login") || uri.endsWith("Register"))) {
        logger.error("Unauthorized access request");
        res.sendRedirect("login.html");
    } else {
        // pass the request along the filter chain
        chain.doFilter(request, response);
    }

    ...
}

Quelle: Webanwendungen_Java_Sessions_Vertiefung (S. 14-16)

Was sind Listener und wie verwendet man sie?

Quelle: Webanwendungen_Java_Sessions_Vertiefung (S. 8-9)

Wie realisiert man eine Datenbankanbindung mit Servlets?

Was kann man dabei optimieren (Anzahl der DB-Connections)?