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