Tomcat in Eclipse Mit Hilfe des Tomcat-Plugins der Firma Sysdeo (frei verfügbar unter der MIT-Licence) lässt sich der ServletContainer Tomcat an die IDE Eclipse anbinden. Dies ermöglicht unter anderem: - Starten, Beenden und Neustart vom Tomcat aus Eclipse - Debuggen von Servlets und JSP mit Eclipse - Hot Code Replacement in Servlets - Konfiguration von JVM-Parametern für Tomcat in Eclipse - Export als war-Datei - Automatisches Aktualisieren von Servlet-Contexts in der server.xml aus Eclipse Installation + Konfiguration Ich beschreibe nun die Installation und einige grundlegende Einstellungen des Plugins. Die beschriebene Vorgehensweise wurde mit folgender Konstellation getestet, sollte aber sinngemäß auch auf andere Versionen übertragbar sein. JDK 5.0 Update 1 Eclipse 3.0.1 Tomcat 5.5.4 Sysdeo-Plugin 3.0 http://java.sun.com/ http://www.eclipse.org/downloads http://jakarta.apache.org/tomcat/index.html http://www.sysdeo.com/eclipse/tomcatPlugin.html Es wird vorausgesetzt, dass Tomcat und Eclipse bereits installiert sind. 1. Ggf. Eclipse beenden, dann die Sysdeo-Plugin-Datei in das Verzeichnis "plugins" der EclipseInstallation entpacken. 2. Eclipse neustarten. In die Java-Perspective wechseln. In der Menüleiste von Eclipse finden sich nun Buttons zum Starten, Beenden und Neustart von Tomcat sowie ein Menüeintrag "Tomcat", der diese Funktionalität ebenfalls zur Verfügung stellt. 3. Unter "Window - Preferences - Java - Installed JREs" überprüfen, ob Eclipse das richtige JRE verwendet, nötigenfalls ändern. Unter "Windows - Preferences - Tomcat" die gewünschte Tomcat-Version auswählen und das Verzeichnis "Tomcat Home" einstellen. Die Einstellung der Konfigurationsdatei erfolgt dann automatisch. Unter "Windows - Preferences - Tomcat JVM Einstellungen - JRE" das von Tomcat zu verwendende JRE auswählen. 4. Unter "Window - Customize Perspective” auf der Karteikarte “Shortcuts” unter „Submenus“ den Eintrag „New“ auswählen, darunter im Feld „Shortcut Categories“ den Eintrag „Java“ markieren und dann rechts im Feld „Shortcuts" die Checkboxes "Java-Project" und "TomcatProject" aktivieren. Damit stehen diese beiden Befehle im Menü "File - New" in der obersten Hierarchieebene zur Verfügung. Damit ist die Anbindung von Tomcat an Eclipse abgeschlossen. Ein erstes Beispielprojekt Zum Anlegen eines ersten einfachen Tomcat-Projekts "Tom" geht man folgendermaßen vor: 1. Im Menü "File - New - Tomcat Project" wählen. Projektnamen "Tom" angeben. "Finish" drücken. Es empfiehlt sich, später bei einem weiteren Testprojekt hier "Next" zu wählen und sich anzuschauen, welche weiteren Konfigurationsmöglichkeiten geboten werden. Fürs erste belassen wir es bei den Defaulteinstellungen. 2. Eclipse legt nun ein Standard-Tomcat-Projekt an. Dabei wird davon ausgegangen, dass sich die Sourcen von den Class-Dateien getrennt im Ordner WEB-INF/src befinden (dies lässt sich über die Projekt-Properties konfigurieren). Anmerkung: Damit Sie ein Servlet erstellen können benötigen Sie einige J2EE-Klassen, die nicht Teil der Standard-Klassenbibliothek sind. Diese stellt Ihnen Tomcat netterweise in Form mehrerer Jar-Archive zur Verfügung. Wenn Sie mit Hilfe des Sysdeo-Plugins ein TomcatProjekt erzeugen, werden diese Archiv-Dateien automatisch zum Build-Path des Projekts hinzugefügt. 3. Im Package-Explorer ein Package test im Ordner WEB-INF/src anlegen. Dort eine neue Klasse TestServlet erstellen, die von HttpServlet abgeleitet ist. Die doGet()-Methode überschreiben, sodass "Hello World" ausgegeben wird: package test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.*; public class TestServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.getWriter().println("Hello World"); } } 4. Im Kontextmenü des Projekts "Tomcat Project - Kontext in Tomcat aktualisieren" ausführen. Eclipse erstellt einen passenden Kontext-Eintrag in der server.xml des Tomcat. 5. Da in den neueren Tomcat-Versionen aus Sicherheitsgründen das Invoker-Servlet standardmäßig deaktiviert ist, muss noch ein Deployment-Descriptor in Form einer Datei 'web.xml' im WEB-INF Verzeichnis erstellt werden. Diese könnte z.B. so aussehen: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet> <servlet-name>test</servlet-name> <servlet-class>test.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping> </web-app> 6. Tomcat über den entsprechenden Knopf in der Eclipse-Werkzeugleiste oder über den Menüpunkt "Tomcat - Tomcat starten" starten. Webbrowser starten und die URL http://localhost:8080/Tom/test aufrufen. Das TestServlet wird gestartet und im Browser wird "Hello Wold!" ausgegeben. Autor: Michael Paap ([email protected]) Zuletzt geändert: 17.01.2005