Java Web Services via REST bereitstellen
ulrich@undisclosed
2020-04-18 37935bf209870930f089ba18037dc4643a1f527e
commit | author | age
cbc490 1
U 2 # Transit
3
13630c 4 Java-Code auf einem Server lässt sich mit Transit ohne statische Annotationen via Ajax rufen. Ein einfacher Uniform Resource Locator (URL) wie der folgende genügt:
854879 5
ffb9b0 6 `http://example.com/package.klasse/methode/format/param1/param2/../paramN`
854879 7
37935b 8 Weitere Informationen auf der [Produktseite](/data/ulrich/prg/Transit/)
854879 9
U 10 ## Voraussetzungen
11
12 Zur Herstellung und Nutzung von Transit werden ein Java Development Kit (JDK) und der Quellcode von Transit benötigt. Das JDK ist z.B. von [Azul](http://azul.com) oder dem [OpenJDK-Projekt](http://openjdk.java.net/) frei erhältlich. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt. Desweiteren werden die folgenden Klassenbibliotheken benötigt
13
14 ```
15 Bibliothek            Datei(en)                       Ablageort lokal
16 ----------            ---------                       ---------------
17 XStream ............. xstream-1.4.7.jar ............. $JLIB
18 Jettison ............ jettison-1.3.3.jar ............ $JLIB
19 ```
20
21 Diese sind an folgenden Orten frei erhältlich:
22
5accd1 23 - [XStream](https://x-stream.github.io/)
U 24 - [Jettison](http://repo.maven.apache.org/maven2/org/codehaus/jettison/jettison/1.2/jettison-1.2.jar)
25
26 + [XStream auf Github](https://github.com/codehaus/xstream)
27 + [Jettison auf Github](https://github.com/codehaus/jettison)
854879 28
U 29 ## Transit erhalten
30
13630c 31 Der Quellcode von Transit wird von hier an einen frei wählbaren lokalen Ablageort [heruntergeladen](/gitblit/zip/?r=Transit.git&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `Transit` einschließlich des absoluten Pfades dorthin `$TRANSIT` genannt. Anstelle von `$TRANSIT` würde man also beispielweise `/home/fred/Transit` notieren, wenn in das persönliche Verzeichnis des Benutzers `fred` heruntergealden und entpackt wurde. Ferner wird angenommen, dass die oben aufgeführten Klassenbibliotheken lokal an Orten abgelegt sind, deren Pfade mit dem Platzhalter `$JLIB` gemeint ist. Anstelle des Platzhalters muss in den folgenden Kommandos also der absolute Pfad des lokalen Ablageortes eingesetzt werden.
854879 32
U 33 ## Klassenbibliothek herstellen
34
13630c 35 Transit ist zur Nutzung im Zusammenspiel mit anderen Programmen vorgesehen und wird dazu am besten als Klassenbibliothek genutzt. Zur Herstellung einer Klassenbibliothek werden mit Hilfe der wie zuvor beschrieben geladenen Teile die folgenden Kommandos ausgeführt (Beispiel für Linux):
854879 36
U 37 ```
38 cd $TRANSIT
39 mkdir classes
40 mkdir dist
41
42 $JDK/bin/javac -classpath $JLIB/jettison-1.3.3.jar:$JLIB/xstream-1.4.7.jar -d classes src/de/uhilger/transit/*.java src/de/uhilger/transit/test/*.java src/de/uhilger/transit/web/*.java
43
44 $JDK/bin/jar -cf dist/Transit.jar -C classes .
45 rm -r classes
46 ```
47
48 Die fertig verwendbare Klassenbibliothek liegt anschließend unter `$TRANSIT/dist/Transit.jar`.
49
50 ## Klassenbibliothek verwenden
51
37935b 52 Zur Verwendung der Klassen von Transit wird die Klassenbibliothek in den Classpath des Programmes aufgenommen, von dem aus Transit genutzt werden soll. Details zur Nutzung von Transit sind in der [Anleitung](/data/ulrich/prg/Transit/Anleitung.htmi) beschrieben.