Class PatternDelegator

  • All Implemented Interfaces:
    com.sun.net.httpserver.HttpHandler

    public class PatternDelegator
    extends FileHandler
    Der PatternDelegator delegiert HTTP-Aufrufe an HttpHandler, indem der URL des Aufrufs mit einem Muster verglichen wird. Zu einem bestimmten Muster passende URLs werden an den zum Muster hinterlegten HttpHandler weitergegeben. Wird kein passendes Muster gefunden, reicht der PatternDelegator die Anfrage an den FileHandler weiter, wodurch - sofern vorhanden - die vom URL bezeichnete Ressource ausgeliefert wird.
    Version:
    1, 29.06.2021
    Author:
    Ulrich Hilger
    • Constructor Detail

      • PatternDelegator

        public PatternDelegator()
        Ein neues Objekt der Klasse PatternDelegator erzeugen
    • Method Detail

      • addHandler

        public void addHandler​(String pattern,
                               HandlerDescriptor handler)
        Diesem Delegator einen HttpHandler hinzufuegen
        Parameters:
        pattern - das Muster, das ein URL treffen muss, damit der hier hinzugefuegte Handler aufgerufen wird
        handler - der Handler, an den dieser Delegator eine Anfrage delegiert, wenn das Muster passt
      • removeHandler

        public void removeHandler​(String pattern)
        Einen HttpHandler von diesem Delegator entfernen
        Parameters:
        pattern - das Muster, das dem HttpHandler zugeordnet ist, der entfernt werden soll
      • handle

        public void handle​(com.sun.net.httpserver.HttpExchange exchange)
                    throws IOException
        Eine HTTP-Anfrage ausfuehren, indem das Muster des URL mit den Mustern verglichen wird, die fuer diesen Delegator hinterlegt wurden und die Anfrage an den HttpHandler delegiert wird, dessen Aufrufmuster passt
        Specified by:
        handle in interface com.sun.net.httpserver.HttpHandler
        Overrides:
        handle in class FileHandler
        Parameters:
        exchange - das Objekt mit allen Infos zu Anfrage und Antwort
        Throws:
        IOException - wenn etwas nicht geklappt hat