Als Plattform wird in diesem Beispiel Linux verwendet.
Tomcat als Server aufsetzen
Tomcat wird von den Linux-Distributionen als Installationspaket vorgehalten und muss nur installiert werden. Der Name der Pakete enthält immer die aktuelle Versionsnummer. tomcat7 steht also für die Version 7 von Tomcat.Es empfielt sich, neben dem eigentlichen Serverpaket auch das Administrationspaket tomcat7-admin zu installieren. Es bietet eine Verwaltungsmöglichkeit über den Browser.
Um auf einem Debian-, Ubuntu- oder Linux-Mint-Rechner einen Tomcat-Server zu installieren, reicht also der folgende Befehl.
apt-get install tomcat7 tomcat7-adminZum Testen kann ein Browser gestartet werden, der als Adresse den Hostnamen oder dessen IP-Adresse, gefolgt von :8080 für den Port enthält. Wird der Test auf dem gleichen PC durchgeführt, auf dem der Server installiert wird, wäre das also http://localhost:8080.
Es erscheint eine Website, die mit den Worten "It works!" beginnt. Weiter unten ist ein Link auf die manager webapp mit der Adresse hostname:8080/manager/html.
Benutzer und Passwort
Beim Starten der Manager Webapp fragt Tomcat nach Benutzerkennung und Passwort. Standardmäßig gibt es keines, sondern muss explizit in der Datei /etc/tomcat7/tomcat-users.xml eingetragen werden. Am Ende der Datei steht unter der Rubrik tomcat-users einige Beispieleinträge, die allerdings mit <!-- und --> auskommentiert sind.Ein Beispieleintrag, der auch für die Verwendung der Webapp verwendet werden kann, würde beispielsweise so aussehen:
<tomcat-users> <!-- <user username="tomcat" password="tomcat" roles="tomcat"/> --> <user username="tomadmin" password="geheim" roles="tomcat,manager-gui,admin-gui"/> </tomcat-users>Der Eintrag für tomcat ist auskommentiert, der für tomadmin gilt. Durch den Eintrag manager-gui kann der Benutzer den Deploy-Manager verwalten, durch den Eintrag admin-gui darf er die virtuellen Hosts verwalten.
Nach der Änderung muss die Konfiguration neu geladen werden. Ein Neustart von Tomcat funktioniert auf jeden Fall.
/etc/init.d/tomcat7 restartUm eine WAR-Datei durch den Tomcat-Server zu deployen, wird sie in das Verzeichnis /var/lib/tomcat7/webapps geschoben.
Tomcat-Download für Windows
Von der Website Apache Tomcat die neueste Tomcat-Version für den Download anklicken. Für Windows gibt es einen Installer als exe.Nach dem Start zeigt er die Standard-Ports an:
- Server Shutdown Port: 8005
- HTTP/1.1 Connector Port: 8080
- AJP/1.3 Connector Port: 8009
- Windows Service Name: Tomcat9
- Administrator Login User Name: admin
- Administrator Login Password: admin
- Administrator Login Roles: manager-gui
Im nächsten Dialog wird der Installationspfad vorgeschlagen: C:\Program Files\Apache Software Foundation\Tomcat 9.0
Installation und Vorbereitungen von Tomcat für Eclipse
- Installation von Tomcat aus dem Repository.
apt-get install tomcat8
- Eintrag des Benutzers (hier arnold) in die Tomcat-Group:
adduser arnold tomcat8
- Stoppe den Tomcat-Service
/usr/share/tomcat8/bin/shutdown.sh
- Es muss verhindert werden, dass Tomcat bei jedem Systemstart mitstartet.
update-rc.d tomcat8 disable
Eclipse ist damit allerdings nicht vollständig zufrieden. Es nörgelt bei der Ansteuerung des Servers hin und wieder, dass es die Tomcat-Version nicht erkennt. Das sollen die folgenden symbolischen Links geraderichten.
cd /usr/share/tomcat8 ln -s /var/lib/tomcat8/conf conf ln -s /var/log/tomcat8 log chmod -R 777 /usr/share/tomcat8/conf ln -s /var/lib/tomcat8/webapps webapps ln -s /var/lib/tomcat8/work work
Eintrag des Tomcat als Eclipse-Server
Nun wird Eclipse gestartet, um Tomcat zu integrieren.- Über das Menü wird folgender Punkt aufgerufen: File|New|Other.
- Im Dialog unter Server den Punkt Server anklicken, dann Next.
- Unter Apache finden sich die verschiedenen Tomcat-Versionen,
Sie wählen Version 8.
Achten Sie darauf, dass auch ein Server name auftaucht.Als Tomcat Installation directory: muss /usr/share/tomcat8 eingetragen werden, also das Verzeichnis, in dem Tomcat installiert wurde.
- Im Dialog Server|Runtime Environment:
Dort sollte Version und Typ des Servers stehen.
Gegebenenfalls müss eine neue Tomcat-Umgebung angelegt werden:
New Name Tomcat 8 /usr/share/tomcat8. (CATALINA_HOME). Finish. -
window|Preferences: Im Dialog Tomcat: Versionsnummer angeben.
Tomcat Home. /var/lib/tomcat8 - Tomcat|Advanced: Tomcat base /var/lib/tomcat8
- Tomcat|Tomcat Manager App: Benutzername/Passwort : tomcat/tomcat ändern und Benutzer zu tomcat-users.xml hinzufügen.
- Aus dem Menü anklicken Window | Preferences. Es erscheint ein Dialog.
- Auf der linken Seite erscheint Tomcat.
- Wird dies angeklickt, erscheint auf der rechten Seite, die Tomcat-Version.
- Darunter muss das Tomcat Home auf /usr/share/tomcat8 stehen.
Erstellung eines JEE-Projekts
- Das Projekt wird über das Menü angelegt: File | New | Project.
- Im Dialog findet man unter dem Punkt Web das Dynamic Web Project. Mit Next geht es zur nächsten Dialogseite.
- Projektname kann beispielsweise DynWebProj sein. Als Target Runtime wird
Apache Tomcat v8.0 verwendet. Nach dem Next-Klicken erscheint
auf der letzten Seite Generate web.xml deployment descriptor.
Den kann man anhaken.
Sollte an dieser Stelle der Server Name leer bleiben und auch nicht beschreibbar sein, muss folgender Workaround verwendet werden: - Eclipse beenden.
- Auf der Konsole ins Arbeitsverzeichnis wechseln, beispielsweise:
cd ~/workspace cd .metadata/.plugins/org.eclipse.core.runtime/.settings rm org.eclipse.wst.server.core.prefs rm org.eclipse.jst.server.tomcat.core.prefs
- Eclipse wieder starten.
- Das Projekt rechts anklicken: New | Other | Web | Servlet.
- Der Name des Servlets wird angegeben. Er ist auch für die URL wichtig,
mit der das Servlet gerufen wird.
http://hostname:8080/WebProjektName/ServletName
Falls Finish nicht möglich, ist der Server Tomcat noch nicht eingerichtet. - Eclipse erzeugt einen Quellcode für das Servlet. In der Methoe
doGet wird folgende Anpassung vorgenommen:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().println("<h1>Hallo</h1>"); }
- Den Server Tomcat im Eclipse starten.
- Die oben angegebene URL in einem Browser eingeben. Nun sollte das Wort Hallo in großen Buchstaben erscheinen.
Weitere Hilfestellungen finden sich unter: http://stackoverflow.com/questions/14791843/eclipse-add-tomcat-7-blank-server-name
Java-Versionskonflikte
Tomcat bestimmt die verwendete Java-Version bereits in der /etc/init.d-Startupdatei.Ist die Java-Version, mit der ein WAR-Datei erzeugt wurde, neuer als die Version, die Tomcat verwendet, kommt es zu einem Fehler: Unsupported major.minor version 52.0 (Java8 gegen Java7).
Deploying
WAR-Dateien werden im Verzeichnis /var/lib/tomcat8/webapps abgelegt. Beim nächsten Neustart von Tomcat werden sie automatisch gestartet.Dabei entpackt Tomcat die WAR-Datei. Darum muss bei einem Wechsel der JAR-Datei auch das entpackte Verzeichnis gelöscht werden. Ansonsten zeigt der Wechsel keine Wirkung.