From 9d9c7fa6b9c5a30899539b9c6d1463fade5172fe Mon Sep 17 00:00:00 2001 From: joss Date: Fri, 4 Jul 2025 13:51:24 +0200 Subject: [PATCH] Added stop functionality described in text --- src/Main.java | 2 ++ src/views/StartView.java | 2 +- src/views/StopView.java | 26 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/views/StopView.java diff --git a/src/Main.java b/src/Main.java index db98c2c..e07cdab 100644 --- a/src/Main.java +++ b/src/Main.java @@ -31,6 +31,7 @@ public class Main { s.createContext("/auth", new AuthView()); s.createContext("/tree", new TreeView()); s.createContext("/object", new ObjectView()); + s.createContext("/stop", new StopView()); s.setExecutor(null); s.start(); } catch (IOException e) { @@ -39,6 +40,7 @@ public class Main { return; } // schließen ist nicht nötig, da beim Beenden die ganze JVM zerstört wird + // und der Code hier damit sowieso unreachable ist } } diff --git a/src/views/StartView.java b/src/views/StartView.java index be12af3..ffcc890 100644 --- a/src/views/StartView.java +++ b/src/views/StartView.java @@ -13,7 +13,7 @@ public class StartView implements HttpHandler { response = Defaults.HTMLHEADER + "Startseite
"; response +="

Beleg - Startseite!

Bitte wähle aus einer der nachstehenden Optionen:

"; response += "

Studierende

Hier Optionen einfügen!"; - response += "

Verwaltung

" + Defaults.HTMLFOOTER; + response += "

Verwaltung

" + Defaults.HTMLFOOTER; os = t.getResponseBody(); diff --git a/src/views/StopView.java b/src/views/StopView.java new file mode 100644 index 0000000..196b646 --- /dev/null +++ b/src/views/StopView.java @@ -0,0 +1,26 @@ +package hsmw.jotto5.beleg.views; + +import java.io.IOException; +import java.io.OutputStream; +import com.sun.net.httpserver.*; + +public class StopView implements HttpHandler { + + public void handle(HttpExchange t) throws IOException { + String response; + OutputStream os; + + response = "

Server gestoppt.

"; + + os = t.getResponseBody(); + + t.sendResponseHeaders(200, response.length()); + os.write(response.getBytes()); + os.close(); + + // Wir beenden einfach die gesamte JVM. Unschön, aber reicht hier aus. + // ACHTUNG: Es wird nicht auf ausstehende Operationen gewartet! + System.exit(0); + } + +}