17.4 Java Server Pages in Tomcat und Eclipse
 
Jeder Server hat natürlich unterschiedliche Vorgehensweisen bei der Installation und beim Einbinden von Servlets und Verzeichnissen. Wir halten uns hier an die Implementierung von Tomcat in der Version 5.
17.4.1 Download und Installation
 
Der Tomcat-Server liegt unter http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi als komprimiertes Archiv oder als .exe für Windows mit Installer zum Laden bereit. Wir entscheiden uns für Windows und finden etwa das Installationsprogramm jakarta-tomcat-5.5.9.exe.
Während der Installation fragt Tomcat nach den Komponenten, die zu installieren sind. Normal reicht hier aus. Full installiert einen Windows-Service, der es erlaubt, Tomcat direkt zu starten, wenn Windows startet. Auch wird der Quellcode mit installiert. Im nächsten Schritt ist ein Installationsverzeichnis zu wählen. Der Server schlägt bei einer deutschen Windows-Version C:\Programme\Apache Software Foundation\Tomcat 5.5 vor. Das soll O.K. sein. Der nächste Dialog fragt noch nach der Port-Nummer (Standard 8080) sowie nach dem Benutzernamen (admin) und dem Passwort für den Tomcat-Manager, aber der Dialog kann mit Next bestätigt werden. Im folgenden Dialog fragt der Installer nach einem Pfad zu einer JRE. Mit Install ist die Installation abgeschlossen. Ein Abschlussdialog gibt die Möglichkeit, Tomcat gleich zu starten. Warum nicht?
Ein Blick im Browser auf die lokale Adresse http://localhost:8080/ zeigt die Tomcat-Startseite. Hier finden sich Beispiele und die APIs für das Paket.
Starten und Enden
Im Startmenü (Start, Programme, Apache Tomcat 5.5) finden sich Eintrage auf weitere Programme und Webseiten. Dort kann Tomcat gestartet werden. Läuft Tomcat, so erzeugt er ein Icon in der Icon-Tray. Dort lässt sich Tomcat beenden.
Konfiguration
Nach der Installation von Tomcat liegen im bei der Installation angegebenen Verzeichnis (etwa C:\Programme\Apache Software Foundation\Tomcat 5.5) diverse Unterverzeichnisse. Im Unterverzeichnis conf/ liegt die XML-Datei server.xml, die wichtigste Konfigurationsdatei für den Server. Hier lässt sich beispielsweise der Port anpassen; ohne Veränderung der Voreinstellungen installiert sich der Web-Server auf dem lokalen Rechner auf Port 8080.
17.4.2 Ablageort für eigene JSP-Seiten
 
Tomcat definiert zwei Teilprojekte mit den Namen Catalina und Jasper. Catalina ist für Servlets zuständig und Jasper ist der Compiler, der Java Server Pages in Servlets übersetzt. Jasper ist selbst ein Servlet. Bei einer Installation sind beide Teile aktiv.
Unsere eigenen JSP-Seiten wollen wir zuerst in ein Unterverzeichnis direkt unter dem Hauptpfad setzen – dann müssen wir nicht an eine Konfigurationsdatei gehen. Die Hauptseite, die bei http://localhost:8080/ im Browser bezogen wird, befindet sich unter
C:\Programme\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\index.jsp
Wir wollen unter ROOT ein Verzeichnis jsp erstellen und unsere Skripte dort ablegen. Beginnen wir mit einer sehr einfachen JSP:
Listing 17.3
datum.jsp
<html><body>
Hallo Nutzer. Wir haben heute
<%= new java.util.Date() %>.
</body></html>
Befindet sich die Datei datum.jsp im Verzeichnis jsp, dann lässt sich im Browser die URL
http://localhost:8080/jsp/datum.jsp
eingeben. Anschließend übersetzt Jasper das JSP in ein Servlet und führt es aus.
Im Browser zeigt sich etwa:
Hallo Nutzer. Wir haben heute Thu Jul 28 13:59:46 CEST 2005.
Dass unsere JSPs unter ROOT liegen ist zwar praktisch, aber unprofessionell. Wir sollten sie in ein anderes Verzeichnis legen. So können wir ohne Schwierigkeiten unsere Projekte weitergeben und müssen uns auch bei einer Neuinstallation von Tomcat keine Sorgen machen. Dafür ist jedoch etwas Konfigurationsaufwand verbunden. Vereinfachen können wir uns die Arbeit, indem wir ein Eclipse-Plugin nutzen.
17.4.3 Web-Applikationen
 
Eine Web-Applikation definiert die logische Struktur der Elemente, die zu einer Webanwendung gehören. Insbesondere sind diese Elemente statische Web-Seiten, Bilder und Medien, JSP-Seiten und Servlets, externe Bibliotheken, Tag-Libraries, Beans und Applets. Jeder Web-Applikation wird ein eigenes Verzeichnis zugeordnet, in dem es eine vordefinierte Verzeichnisstruktur gibt. Von besonderer Bedeutung ist das Unterverzeichnis WEB-INF, das auch Tomcat für seine beiden Beispiel-Web-Applikationen nutzt:
|
C:\Programme\Apache Software Foundation\Tomcat 5.5\webapps\tomcat-docs\WEB-INF |
|
C:\Programme\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF |
In WEB-INF stehen Objekte, die der Web-Server nicht nach außen freigibt, etwa Servlets – obwohl die Servlets selbst natürlich nutzbar sind. Des Weiteren findet sich in WEB-INF eine Datei web.xml, der so genannte Deployment-Descriptor. Unter WEB-INF können zusätzlich die Unterverzeichnisse classes und lib definiert werden.
|
classes. Das Verzeichnis nimmt übersetzte Java-Klassen auf. Das können Servlets oder Java-Beans sein. Der Servlet-Container nimmt die Objekte automatisch in den Suchpfad mit auf. |
|
lib. Im Unterverzeichnis lib stehen Jar-Archive, die ebenfalls in den Suchpfad aufgenommen werden. |
Tomcat beginnt mit der Suche nach Klassen im Verzeichnis WEB-INF/classes und sucht, falls die Klassen dort nicht zu finden waren, anschließend in WEB-INF/lib weiter. Unter <TOMCAT>/lib können applikationsübergreifende Bibliotheken abgespeichert sein.
Beispiel So kann die Verzeichnisstruktur einer Web-Applikation aussehen:
index.html
seite.jsp
pics/lustig.gif
WEB-INF/web.xml
WEB-INF/schleifen.tld
WEB-INF/lib/meins.jar
WEB-INF/class/erstesServlet.class
WEB-INF/classes/com/javatutor/p/Bean.class
|
17.4.4 Zuordnung von Web-Applikationen zu physikalischen Verzeichnissen
 
Wer nicht mit einem Eclipse-Plugin arbeiten möchte, muss die Datei conf/server.xml im Tomcat-Verzeichnis modifizieren. Dort ist ein Eintrag eingebunden, der genau den Pfad auf unser Projekt angibt, sodass Tomcat einer Web-Applikation ein Verzeichnis zuordnen kann. (Ein Plugin nimmt diese Arbeit ab.) Die Zuordnung geschieht dabei mit einem XML-Eintrag Context im Host-Element, der unter http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/context.html genau beschrieben ist.
Beispiel Wer die Beispiele des Buches ausprobieren möchte, der kann für sie einen Kontext einrichten.
<Context path="/jt"
docBase="C:/JavaBook/programme/17_ServletsJSP"
reloadable="true" />
Nach der Änderung muss Tomcat neu gestartet werden; am einfachten über die Tray mittels Configure | Stop und Start. Nach dem Start ist unter http://localhost:8080/manager/html unsere Applikation aufgeführt. Das erste JSP datum lässt sich dann unter http://localhost:8080/jt/datum.jsp ausprobieren. Tomcat hat gelegentlich Probleme mit Verzeichnissen auf Shared-Laufwerken.
|
|