Initial Commit
This commit is contained in:
commit
4b78ccbbd9
8 changed files with 179 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
build/
|
||||||
|
doc/
|
39
README.txt
Normal file
39
README.txt
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
Beleg SoSe 2025
|
||||||
|
===============
|
||||||
|
|
||||||
|
EINLEITUNG
|
||||||
|
|
||||||
|
In diesem Ordner befinden sich fast alle notwendigen Dateien um die vorliegende
|
||||||
|
Belegarbeit zu kompilieren. Für zusätzliche Abhängigkeiten siehe KOMPILIEREN.
|
||||||
|
|
||||||
|
Im Ordner src befindet sich der Java-Quellcode der Anwendung und im Ordner doc
|
||||||
|
wird die Javadoc-Dokumentation ausgegeben.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
AUSFÜHREN
|
||||||
|
|
||||||
|
Da die Anwendung keine grafische Oberfläche im klassischen Sinne nutzt
|
||||||
|
empfiehlt sich ein Starten über die Komandozeile mit
|
||||||
|
|
||||||
|
java -jar build/jar/beleg.jar
|
||||||
|
|
||||||
|
Beendet werden kann die Anwendung mit Ctrl+C.
|
||||||
|
|
||||||
|
Zum Vergleich mit einer "getesteten Instanz" gibt es mindestens bis zum Anfang
|
||||||
|
des WiSe 25/26 noch eine von mir gehostete Version unter
|
||||||
|
|
||||||
|
http://beleg.infra.jossco.de.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
KOMPILIEREN
|
||||||
|
|
||||||
|
Die folgenden Schritte beschreiben das Kompilieren der Anwendung sowie der
|
||||||
|
Dokumentation und zusätzlich der schriftlichen Belegarbeit.
|
||||||
|
|
||||||
|
Abhängigkeiten für die Anwendung:
|
||||||
|
* Apache ANT
|
||||||
|
* Das Java JDK, mindestens in Version 8
|
||||||
|
|
||||||
|
Für die Dokumentation wird zusätzlich Javadoc benötigt.
|
39
build.xml
Normal file
39
build.xml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<project default="clean-jar">
|
||||||
|
|
||||||
|
<property name="main-class" value="hsmw.jotto5.beleg.Main"/>
|
||||||
|
|
||||||
|
<target name="clean">
|
||||||
|
<delete dir="build"/>
|
||||||
|
<delete dir="doc"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="compile">
|
||||||
|
<mkdir dir="build/classes"/>
|
||||||
|
<javac srcdir="src" destdir="build/classes"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="jar" depends="compile">
|
||||||
|
<mkdir dir="build/dist"/>
|
||||||
|
<jar destfile="build/dist/beleg.jar" basedir="build/classes">
|
||||||
|
<manifest>
|
||||||
|
<attribute name="Main-Class" value="${main-class}"/>
|
||||||
|
</manifest>
|
||||||
|
</jar>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="run" depends="jar">
|
||||||
|
<java jar="build/dist/beleg.jar" fork="true"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="clean-jar" depends="clean,jar"/>
|
||||||
|
|
||||||
|
<target name="doc">
|
||||||
|
<mkdir dir="doc"/>
|
||||||
|
<javadoc sourcepath="src" destdir="doc">
|
||||||
|
<fileset dir="src">
|
||||||
|
<include name="**"/>
|
||||||
|
</fileset>
|
||||||
|
</javadoc>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
</project>
|
26
src/Main.java
Normal file
26
src/Main.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
package hsmw.jotto5.beleg;
|
||||||
|
|
||||||
|
import hsmw.jotto5.beleg.views.*;
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.*;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Die Main-Klasse mit dem Einstiegspunkt der Anwendung
|
||||||
|
*/
|
||||||
|
public class Main {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main-Methode
|
||||||
|
* @param args Die Programmargumente
|
||||||
|
*/
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
HttpServer s = HttpServer.create(new InetSocketAddress(8000), 0);
|
||||||
|
|
||||||
|
s.createContext("/main", new StartView());
|
||||||
|
|
||||||
|
s.setExecutor(null);
|
||||||
|
s.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
26
src/Model.java
Normal file
26
src/Model.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
package hsmw.jotto5.beleg;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Das Model der Anwendung.
|
||||||
|
*
|
||||||
|
* Stellt einfache Abfragen bereit und verwaltet die Anbindung an ein Speicher-Backend.
|
||||||
|
* Zugriff auf Daten ist Thread-sicher. Um ständiges Zusammenbauen von Objekten
|
||||||
|
* zu vermeiden und um besser vom eigentlichen Backend zu abstrahieren sind viele
|
||||||
|
* einfache Abfragen als Methode umgesetzt.
|
||||||
|
*/
|
||||||
|
public class Model {
|
||||||
|
|
||||||
|
private ArrayList<Student> students;
|
||||||
|
private ArrayList<Resource> resources;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialisiert ein leeres Model.
|
||||||
|
*/
|
||||||
|
public Model() {
|
||||||
|
students = new ArrayList<Student>();
|
||||||
|
resources = new ArrayList<Resource>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
13
src/Resource.java
Normal file
13
src/Resource.java
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
package hsmw.jotto5.beleg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Basisklasse für eine beliebige Ressource.
|
||||||
|
*
|
||||||
|
* Alle spezifischen Ressourcen erben von dieser Klasse.
|
||||||
|
*/
|
||||||
|
public abstract class Resource {
|
||||||
|
|
||||||
|
private String displayName;
|
||||||
|
private String uid; // UID String, ähnlich "CN" in LDAP
|
||||||
|
|
||||||
|
}
|
13
src/Student.java
Normal file
13
src/Student.java
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
package hsmw.jotto5.beleg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Beschreibt eine Studierende Person.
|
||||||
|
*
|
||||||
|
* Aus verwaltungstechnischen Gründen zählen Studierende auch als Ressourcen.
|
||||||
|
*/
|
||||||
|
public class Student extends Resource {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String lastName;
|
||||||
|
|
||||||
|
}
|
21
src/views/StartView.java
Normal file
21
src/views/StartView.java
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
package hsmw.jotto5.beleg.views;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import com.sun.net.httpserver.*;
|
||||||
|
|
||||||
|
public class StartView implements HttpHandler {
|
||||||
|
|
||||||
|
public void handle(HttpExchange t) throws IOException {
|
||||||
|
String response;
|
||||||
|
OutputStream os;
|
||||||
|
|
||||||
|
response = "<h1>Beleg - Startseite!</h1><p>Bitte waehle aus einer der nachstehenden Optionen.</p>";
|
||||||
|
od = t.getResponseBody();
|
||||||
|
|
||||||
|
t.sendResponseHeaders(200, response.length());
|
||||||
|
os.write(response.getBytes());
|
||||||
|
os.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue