Java-Applikationen für Web-fähige Anwendungen

Im Abschnitt <servlet> können der Name des Servlets und die dazugehörige Servlet-Klasse definiert werden. Der Abschnitt <servlet-mapping> ordnet ein benanntes Servlet einem URL-Pattern zu. Diese Abschnitte entsprechen dem Aufruf handler.addHandler() in der hart codierten Version. Zur Initialisierung einer Web-Applikation wird die Erstellung des HTTPServers entfernt und ein Handler mit folgendem Startup-Code hinzugefügt:

Man startet einen generischen Jetty-Server und lässt ihn an Port 8000 warten. Dann muss ein WebApplicationContext mit der Root „/“ erstellt und der Server informiert werden, dass er die Web-Applikation im Verzeichnis webapp finden kann. Die Referenz „tasks“ setzt man direkt in den WebApplicationContext, um die Tasks-Instanz an das Servlet zu übergeben.

Eine Web-Applikation unterstützt nun unter anderem JSP, also müssen den Bibliotheken der Jasper JSP-Compiler und die entsprechende Runtime-Umgebung, jasper-compiler.jar und jasper-runtime.jar, hinzugefügt werden; dazu sind wiederum ant.jar und commons-el.jar erforderlich. Alle diese Dateien findet man in der Jetty Distribution. Nach all diesen Aktionen kann man ToDoTasks wieder ausführen und unter http://localhost:8000/report auf den Report zugreifen – alles wie beim vorherigen Lauf. Das klingt vielleicht noch nicht sehr beeindruckend; es wurden einige Zeilen des Startup-Codes durch eine geringere Zahl anderer Zeilen ersetzt und eine XML-Datei ergänzt. Dies liegt jedoch daran, dass der Web-Applikationskontext noch kaum verwendet wurde. Im Verzeichnis webapp kann man eine Datei index.html hinzufügen, um Benutzer zu den verfügbaren Reports zu leiten. Wurde diese Datei ergänzt, kann nun auf http://localhost:8000/ zugegriffen werden und es lässt sich ohne zusätzliches Coding eine Startseite anzeigen. Außerdem lassen sich JSP-Seiten einstellen, allerdings kann mit der Konfiguration in diesem Beispiel nur grundlegendes JSP verwendet werden. Im Verzeichnis webapp findet man auch eine einfache Version des Report-Servlets als jspreport.jsp. Der gesamte Inhalt des Verzeichnisses webapp steht auf dem Server zur Verfügung – mit Ausnahme des Verzeichnisses WEB-INF, denn die Konfiguration muss nicht unbedingt allgemein zugänglich sein.

Bei der Erstellung der Applikation muss darauf geachtet werden, das Verzeichnis webapp mit der JAR-Datei mitzuliefern. Allerdings kann das Verzeichnis webapp in einer Datei .WAR (Web-ARchivdatei) archiviert werden. Diese Datei .WAR kann dann im addWebApplication-Aufruf anstelle des Pfads zum Verzeichnis angegeben werden:

Zur Erstellung der WAR-Datei verwendet man das standardmäßige JAR-Utility; die WAR-Datei ist einfach eine JAR-Datei mit der Erweiterung .war. In diesem Fall kann man zur Erstellung der WAR-Datei im Projektverzeichnis einfach folgende Anweisung ausführen:

Mit dem Flag -C wird das Verzeichnis vor dem Starten des Archivs in webapp geändert; die Anweisung „jar cvf webapp.war webapp“ würde einfach ein Archiv erstellen, bei dem alles in einem Ordner WEBAPP innerhalb der WAR-Datei gespeichert wäre, und dies würde beim Laden nicht korrekt funktionieren.

Die Applikation ToDoTasks sieht nun schon ganz gut aus mit dem eingebetteten Web-Server und den Web-App-Anbindungen, doch die Web-Schnittstelle mit nur einem unsortierten und ungefilterten Report ist noch zu optimieren. Darauf wird im nächsten Artikel näher eingegangen.

Der Programmcode für dieses Tutorial steht zum Download bereit.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Studie: Mitarbeiterverhalten verursacht IT-Sicherheitsrisiken

Zur Arbeitserleichterung umgehen Mitarbeiter unter anderem Cybersicherheitsrichtlinien. Dazu gehört wie Wiederverwendung von Kennwörtern für geschäftliche…

2 Wochen ago

Lichtgeschwindigkeit für generative KI

Optiktechnologie könnte elektrische Verbindungen in Rechenzentren ersetzen und so Geschwindigkeit und Energieeffizienz für KI erheblich…

2 Wochen ago

Meta kündigt neues Rechenzentrum für 10 Milliarden Dollar an

Es entsteht im US-Bundesstaat Louisiana. Meta sichert damit den Rechenbedarf für seine KI-Dienste.

2 Wochen ago

Autonomes Fahren: Deutsche sehen eher Risiken

Weniger Lärm und ein besserer Verkehrsfluss sind die einzigen Vorteile, der die Mehrheit der Bevölkerung…

2 Wochen ago

Jeder zweite hat Probleme mit Internetanbieter

Laut EY haben innerhalb eines Jahres 22 Prozent der Haushalte ihren Provider gewechselt – nirgendwo…

2 Wochen ago

Tech-Unternehmen in Deutschland blicken mit Sorge auf die USA

Bitkom-Umfrage zeigt: 78 Prozent befürchten durch Trump-Sieg Schaden für die deutsche Wirtschaft.

2 Wochen ago