Java Serverlet Container installieren

Table of Contents

Einleitung

Das Serverlet-Framework Jakarta EE ermöglicht die Entwicklung von Anwendungen für eine grosse Anzahl paralleler Benutzer die über einen Web-Browser zugreifen. Dazu ist besonders die Serverlet-API von JEE von Interesse.

Diese API-Klasse wartet auf eingehende Netzwerkverbindungen und reagiert mit einer entsprechenden Antwort. Für die übertragenen Daten wird fast immer das HTTP (Hypertext Transfer Protocol) verwendet.

Die Hauptaufgabe eines Serverlets ist von einem Serverprozess aufgerufen zu werden, um in eine Netzwerkverbindung einen Datenstrom zu schreiben, den es auf irgendeine Weise erzeugt hat. Damit ein Serverlet ausgeführt werden kann, braucht es den Serverlet-Container. Das ist ein Programm, das man fertig installiert. Dieses Programm stellt anschliessend ein oder mehrere Serverlets zur Verfügung, die vom Container aufgerufen werden. Ein Serverlet verfügt nicht über eine main-Methode und ist allein nicht funktionsfähig, es kann also auch nicht einfach von der Kommandozeile aus ausgerufen werden.

Die Aufgaben des Containers sind alle Aufgaben, die nicht mit der Logik der Anwendung zu tun haben. Beispielsweise die Verwaltung der Netzwerkverbindungen, Benutzerberechtigungen und des Speichers. Dazu kann das Serverlet auf die Schnittstellen des Containers zugreifen. Das ermöglicht dem Entwickler sich auf die Anwendung zu konzentrieren. Der Hauptvorteil von Serverlets ist, das diese bereits out-of-the-Box sicherer, performanter und stabiler sind, als wenn man diese Funktionen und Methoden selbst noch neu entwickeln müsste.

Serverlet-Container installieren

Es gibt eine Vielzahl von Serverlet-Containern. Nicht alle eigenen sich für jeden Anwendungsfall. Wir werden Testeshalber den Apache Tomcat verwenden. Dieser Server, wie auch alle anderen Serverlet-Container sind selbst ein Java-Programm und dadurch unabhängig vom Betriebssystem. Die Anweisungen hier gelten nur für eine Testumgebung und sind nicht für den produktiven Einsatz als Webserver gedacht.

Option 1: Manuelle Installation des Tomcat-Servers auf dem eigenen Gerät

Wer sich den manuellen overhead der Installation des Tomcat-Servers antun will, der kann die aktuellste Version des Tomcat hier heruntergeladen werden: https://tomcat.apache.org/download-90.cgi

Die Installationsanweisungen befinden sich hier: https://tomcat.apache.org/tomcat-9.0-doc/setup.html

Da ich mich nicht mit manuellen Installationen herumschlagen will, ist Option 2 mein Favorit.

Option 2: Installation des Tomcat-Servers via VSCode

Falls man für die Entwicklung in der IDE VSCode arbeitet, kann man dort direkt Tomcat als AddOn installieren und muss sich so garnicht mit der Installation des Tomcat befassen. Link zum Add-On: https://marketplace.visualstudio.com/items?itemName=redhat.vscode-community-server-connector

(Option 3: Tomcat Docker Image)

Fortgeschrittene Java Entwickler können theoretisch auch direkt das Docker Tomcat Image nutzen. Da ich jedoch Java sowie Tomcat Anfänger bin, verzichte ich vorerst auf den Docker Container, und werde Option 2 weiter erläutern.

Tomcat mit VSCode einrichten

Nach der Installation erscheint links im Explorer von VSCode ein neuer Tab "SERVERS", wenn man diesen öffnet erscheint der "Cummunity Server Connector". Mit rechtsklick darauf kann man einen neuen Server erstellen. Wir beantworten "Download Server?" mit Yes. und wählen "Apache Tomcat 9.0.41" als nächstes müssen wir die Lizenz akzeptieren. That's it. Nun sollte ein Apache Tomcat aufgelistet sein.

Es fehlt lediglich ein Benutzer, der die Administrationskonsole des Servers bedienen darf. Einen solchen Nutzer sollte aber eingerichtet werden, damit man die Administrationskonsole verwalten kann. Dazu öffnen wir folgende Datei (gilt nur für MacOS):  /Users/<deinuser>/.rsp/redhat-community-server-connector/runtimes/installations/tomcat-9.0.41/apache-tomcat-9.0.41/conf/tomcat-users.xml und fügen folgende Zeile hinzu:

<user username="tomcat" password="tomcat" roles="manager,manager-gui"/>

Natürlich sollte ein anderes Kennwort verwendet werden, idealerweise lässt man eines generieren. Der Server ist jetzt fertig konfiguriert. Der Server kann nun mit einem Rechtsklick auf dem TomCat Server gestartet werden.

Installation verifizieren

Um zu überprüfen, ob der Server wirklich funktioniert, kann man nun die Administrationskonsole unter http://localhost:8080/manager aufrufen. Nun sollte eine Loginmaske erscheinen, in welchem wir den zuvor definieren User und PW eingeben. Nach der Anmeldung sollte man die Tomcat-Manager-Anwendung zu sehen bekommen:

Wenn man diese Ansicht zu sehen bekommt kann man sicher sein, das die Installation erfolgreich war und der Tomcat Server funktioniert.