From 6d3836e41493f89c5b8700cca34111319e9fa41a Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sat, 27 Mar 2021 16:41:01 +0000
Subject: [PATCH] Kommentare ergaenzt

---
 src/de/uhilger/minsrv/App.java                       |   36 +++++++++++++++++++++---------------
 src/de/uhilger/minsrv/handler/StopServerHandler.java |   12 ++++++++++++
 src/de/uhilger/minsrv/Server.java                    |    4 ++--
 3 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/src/de/uhilger/minsrv/App.java b/src/de/uhilger/minsrv/App.java
index c49f385..0e41848 100644
--- a/src/de/uhilger/minsrv/App.java
+++ b/src/de/uhilger/minsrv/App.java
@@ -23,7 +23,26 @@
 import java.util.logging.Logger;
 
 /**
- * Die Hauptklasse des mini-server
+ * <p>Die Hauptklasse des mini-server</p>
+ *
+ * <p>Folgende Kommandozeilenparameter werden verarbeitet </p>
+ * 
+ * <p>ctx - Kontext des Servers <br>
+ * www-data - lokales Datenverzeichnis <br>
+ * port - Port</p>>
+ *
+ * <p>Beispiel: <code>java -jar mini-server.jar ctx="srv" www-data="/home/fred/www"
+ * port=9090</code></p>
+ *
+ * <p>Startet den Server auf http://localhost:9090/srv und liefert Inhalte aus
+ * dem Verzeichnis <code>/home/fred/www</code> aus.
+ *
+ * Ein Aufruf von http://localhost:9090/srv/pfad/zum/inhalt/index.html liefert
+ * also die Datei 'index.html' aus dem Ordner /home/fred/www/pfad/zum/inhalt
+ * aus.</p>
+ * 
+ * <p>Mit http://localhost:9090/srv/server/stop werden Server und App 
+ * beendet.</p>
  *
  * @author Ulrich Hilger
  * @version 0.1, 25.03.2021
@@ -39,20 +58,7 @@
   private static HashMap initParams;
 
   /**
-   * Start-Methode dieser Anwendung
-   *
-   * Folgende Kommandozeilenparameter werden verarbeitet ctx - Kontext des
-   * Servers www-data - lokales Datenverzeichnis port - Port
-   *
-   * Beispiel: java -jar mini-server.jar ctx="srv" www-data="/home/fred/www"
-   * port=9090
-   *
-   * Startet den Server auf http://localhost:9090/srv und liefert Inhalte aus
-   * dem Verzeichnis /home/fred/www aus.
-   *
-   * Ein Aufruf von http://localhost:9090/srv/pfad/zum/inhalt/index.html liefert
-   * also die Datei 'index.html' aus dem Ordner /home/fred/www/pfad/zum/inhalt
-   * aus.
+   * <p>Start-Methode dieser Anwendung</p>
    *
    * @param args Kommandozeilenparameter
    */
diff --git a/src/de/uhilger/minsrv/Server.java b/src/de/uhilger/minsrv/Server.java
index 7db0ba5..95cf04c 100644
--- a/src/de/uhilger/minsrv/Server.java
+++ b/src/de/uhilger/minsrv/Server.java
@@ -38,7 +38,7 @@
   private static final Logger logger = Logger.getLogger(Server.class.getName());
   
   public static final String STR_SLASH = "/";
-  
+  public static final String CMD_SERVER_STOP = "/server/stop";
   
   private int port;
   
@@ -86,7 +86,7 @@
 
     HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);
     server.createContext(ctx + STR_SLASH, new FileHandler(App.getInitParameter(App.IP_WWW_DATA)));
-    server.createContext(ctx + "/server/stop", new StopServerHandler());
+    server.createContext(ctx + CMD_SERVER_STOP, new StopServerHandler());
     server.setExecutor(Executors.newFixedThreadPool(20));
     server.start();
   }
diff --git a/src/de/uhilger/minsrv/handler/StopServerHandler.java b/src/de/uhilger/minsrv/handler/StopServerHandler.java
index 400b0d2..1d21ae0 100644
--- a/src/de/uhilger/minsrv/handler/StopServerHandler.java
+++ b/src/de/uhilger/minsrv/handler/StopServerHandler.java
@@ -33,6 +33,14 @@
  */
 public class StopServerHandler implements HttpHandler {
 
+  /**
+   * Den Server geordnet herunterfahren und 
+   * dann die Anwendung beenden.
+   * 
+   * @param e das Objekt mit Methoden zur Untersuchung der Anfrage sowie zum
+   * Anfertigen und Senden der Antwort
+   * @throws IOException falls etwas schief geht entsteht dieser Fehler
+   */
   @Override
   public void handle(HttpExchange e) throws IOException {
     Logger.getLogger(StopServerHandler.class.getName()).info(e.getRequestURI().toString());
@@ -48,6 +56,10 @@
     timer.schedule(new AppStopper(), 2000);
   }
 
+  /**
+   * Die Klasse AppStopper erm&ouml;glicht das asnychrone bzw. 
+   * zeitgesteuerte Stoppen der Anwendung.
+   */
   class AppStopper extends TimerTask {
 
     @Override

--
Gitblit v1.9.3