Virtual OS/2 International Consumer Education
VOICE Homepage: http://de.os2voice.org
Oktober 2002

[Inhaltsverzeichnis]
[Vorherige Seite] [Nächste Seite]
[Artikelverzeichnis]

editor@os2voice.org


jetty:// - 100% Java Servlet-Programmierung unter OS/2

Von A. Nonymous © Oktober 2002, Übersetzung: Karl Reinberg

Können Sie wirklich gute Java Programmierarbeit unter OS/2 Warp und eComStation anfertigen?

Ich hatte wirklich großartigen Erfolg damit, keine Frage. Es gibt eine sehr angemessene Auswahl an GUI-basierten Java-Werkzeugen, Editoren, Laufzeitumgebungen, usw., die Ihnen alle helfen können, Java-Anwendungen unter Ihrem favorisierten Betriebssystem aufzubauen und zu hosten.

Zum Beispiel: Jetty ist eine 100%ig reine Java-Anwendung, die einen HTTP-Server anbietet (mit SSL-Unterstützung), eine Java-Servlet-Laufzeitumgebung und Unterstützung für JSPs (Java Server Pages). Jetty ist Open Source, und die Projekt-Homepage kann man hier finden: http://jetty.mortbay.org

Wen kümmert's? Nun, die Servlet-API und JSPs bieten die Kernelemente für den Industrie-Standard J2EE (Java 2 Enterprise Edition) Anwendungs-Server. (WebSphere Application Server ist ein J2EE Anwendungs-Server, beispielsweise). Mit Jetty können Sie komplizierte, interaktive servlet-basierte Web-Anwendungen entwickeln, die alle unter eComStation oder OS/2 Warp laufen.

Jetty ist außerdem der Kern von JBoss, eines vollwertigen, Open Source J2EE Anwendungs-Servers. (Für weitere Informationen über JBoss besuchen Sie http://www.jboss.org.) Ich habe bei JBoss (noch) nicht getestet, ob er unter OS/2 Warp läuft. Es ist aber anzunehmen, denn wenn Jetty es tut, wird es JBoss wohl genauso tun.

OK, wie also erzeugen Sie Ihre eigenen Java Servlets und lassen Sie mit Jetty laufen? Als erstes besorgen Sie sich ein gutes Buch darüber, wie man Servlets schreibt, wie das von O'Reilly and Associates veröffentlichte. Dann installieren Sie das aktuellste IBM Java Development Kit (JDK), das Sie finden können (ich benutze die Version 1.3.1, vom Juli 2002). Dieses ist das vollständige Entwicklungs-Kit, nicht nur die Laufzeitumgebung, da JSPs vom JAVA C-Compiler abhängen.

Beachten Sie, daß Sie ältere Versionen von Jetty mit dem JDK 1.1.8 benutzen können, falls Ihnen das lieber ist. Ich habe aber diese Kombination nicht getestet. (Sie müssen etwas suchen, um die ältere Version von Jetty zu finden, die JDK 1.1.8 unterstützt. Sie ist aber immer noch verfügbar und auch perfekt lebensfähig.)

Gehen Sie zur Jetty Web-Seite und laden Sie sich Jetty 4.0.5 (oder die gerade aktuellste Version) herunter, oder eben die aktuellste Version 3.x (falls Sie etwas weniger "scharfes" bevorzugen). Ich habe beide getestet, und beide arbeiten großartig.

Sie müssen sich außerdem die Dienstprogramme gzip und gtak (GNU tar) aus Ihrem bevorzugten OS/2-Warp-Archiv besorgen, wie z.B. Hobbes (http://hobbes.nmsu.edu). Diese Dienstprogramme erlauben es Ihnen, die Dateien aus dem gzip'ten und getar'ten Jetty-Paket auszupacken.

Nachdem Sie die Dateien ausgepackt haben, müssen Sie noch ein wenig Reparatur betreiben.

In Jetty 4.0.5 gibt es ein paar lange Dateinamen, die scheinbar durch die OS/2-Version des Dienstprogramms gtak durcheinandergebracht werden. Suchen Sie nach Dateien, die mit 'Compress' beginnen:

DIR Compress* /S
Es sind 5 Dateien, bei denen die Dateibezeichnung abgeschnitten wurde:
CompressionFilterTestServlet.class
CompressionFilterTestServlet.java
CompressionResponseStream.class
CompressionResponseStream.java
CompressionServletResponseWrapper.class
Benennen Sie die verkürzten Dateien um in die korrekten Dateinamen.

Danach geben Sie von der Befehlszeile diese Befehle ein, wobei angenommen wird, daß Sie die Jetty-Dateien in C:\Jetty-4.0.5 ausgepackt haben:

SET JETTY_HOME=C:\Jetty-4.0.5

SET CLASSPATH=%JETTY_HOME%\lib\org.mortbay.jetty.jar;%JETTY_HOME%\lib\javax.servlet.jar;%JETTY_HOME%\lib\javax.xml.jaxp.jar;%JETTY_HOME%\lib\org.apache.jasper.jar;%JETTY_HOME%\lib\org.apache.crimson.jar;%JETTY_HOME%\lib\com.sun.net.ssl.jar;C:\JAVA131\lib\tools.jar;%CLASSPATH%

Der CLASSPATH-Befehl ist komplett in einer Zeile, und es wird vorausgesetzt, daß Sie Java 1.3.1 haben und dieses in C:\JAVA131 eingerichtet wurde. Ändern Sie es entsprechend Ihrer Situation.

Um nun Jetty zu starten, tippen Sie:

CD %JETTY_HOME%
java org.mortbay.jetty.Server etc\admin.xml etc\demo.xml

und um Ihren Jetty-Server auf ordungsgemäße Funktion zu testen, öffnen Sie einen beliebigen Webbrowser auf dem gleichen System und greifen Sie auf diese Webseite zu: http://localhost:8080

Falls alles funktioniert, sollten Sie die Jetty Willkommen-Seite sehen. Und jetzt können Sie damit beginnen, Servlets und JSPs mit der aktuellsten API schreiben und laufen zu lassen!

Eine kleine ärgerliche Sache: die Konsolen-Anzeige (für Jettys Startmeldungen und andere) ist hübsch durcheinander. Scheinbar schickt Jetty (nur) Zeilenvorschübe zur Konsole. OS/2 Warps VM berücksichtigt dies eifrig, und schlußendlich erhalten Sie so ein Problem:

Jetty startup message
                      Next startup message
                                           Third startup message

was nun wirklich nicht toll aussieht. Aber es ist eigentlich nur ein kosmetisches Problem, und Sie können die Jetty-Meldungen in eine Datei umleiten, um die Datei später mit den meisten Texteditoren mit besseren Ergebnissen anzusehen.

Ich habe die Jetty-Gemeinschaft gefragt, ob sie ein vorgefertigtes Startup-Skript für Jetty unter OS/2 Warp wünschen würde. Möglicherweise werden Sie daher ein fertiges Skript in zukünftigen Versionen von Jetty sehen. (Falls Sie über irgendwelche anderen Java-orientierten Projekte stolpern, versuchen Sie das gleiche Angebot zu machen. Es wird das Leben unsere Mitanwender leichter machen, und die meisten Projektgemeinschaften sind dankbar für den Beitrag).

Daten und Quellen:

jetty:// Website - http://jetty.mortbay.org
JBoss - http://www.jboss.org
GTak - http://ftp-os2.nmsu.edu/cgi-bin/h-search?key=gtak
GZip - http://ftp-os2.nmsu.edu/cgi-bin/h-search?key=gzip


[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org