1 / 21

Servlet-Container Apache Tomcat

Sommersemester 2004 Lehrstuhl für Wirtschaftsinformatik Technische Universität München. Servlet-Container Apache Tomcat. Li Sun & Christian Ertl. 25.Mai 2004. Agenda. Definitionen Entwicklung Java Server Pages (JSP) Architektur Installation Verzeichnisse Konfiguration

thanos
Download Presentation

Servlet-Container Apache Tomcat

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sommersemester 2004 Lehrstuhl für Wirtschaftsinformatik Technische Universität München Servlet-Container Apache Tomcat Li Sun & Christian Ertl 25.Mai 2004

  2. Agenda • Definitionen • Entwicklung • Java Server Pages (JSP) • Architektur • Installation • Verzeichnisse • Konfiguration • Literatur und Links

  3. Definitionen • Jakarta Tomcat: Referenzimplementierung der Servlet-API und JSP-API unter Apache-Lizenz • Andere Container: • Jetty • IBM Webspehre Application Server • Macromedia JRun • Stammt von der originalen Servlet- und JSP-Implementierung ab, die Sun der Apache Software Foundation übergab (Tomcat 3)

  4. Definitionen • Catilina: Servlet-Container ab Tomcat 4 • Jasper: kompiliert JSPs in Servlets • Tomcat funktioniert alleine (z.B. bei der Entwicklung, wo kein Bedürfnis nach Geschwindigkeit und Transaktionsentwicklung besteht) • Normalerweise in Kombination mit einem Webserver mit Servlet- und JSP-Unterstützung (meist Apache Webserver)

  5. Defintionen • Servlet-Container: • Verwaltet Kommunikation nach außen • Nimmt Anfragen vom Webserver entgegen, wählt Servlet aus und leitet die Eingaben an das Servlet weiter und gibt dessen Ausgabe an den Webserver zurück • Verwaltet den Lebenszyklus des Servlets

  6. Entwicklung • Tomcat 3: Servlet 2.2 und JSP 1.1 • Tomcat 3.1-3.3 wurden gegenüber der ursprünglichen Implementierung intern umgebaut und modularisiert • Tomcat 4 implementiert einen neuen Serlvet-Container mit komplett neuer Architektur (aktuell 4.1) • Tomcat 4: Servlet 2.3 und JSP 1.2 • Tomcat 5: Servlet 2.4 und JSP 2.0

  7. Java Server Pages (JSP) • Statt Servlet, das sich um HTML-Ausgabe kümmert, HTML-Seite mit eingebauten Java-Code, Beispiel: <html><body> Hallo Nutzer. Wir haben heute <%= new java.util.Date() %>. </body></html> • JSP-Seiten werden (bei Tomcat durch das Servlet Jasper) in Servlets übersetzt • <% %> enthält einfachen Java-Code, <%! %> Deklarationen, <%= Ausdruck %> wird in out.println(Ausdruck) umgewandelt,

  8. Architektur

  9. Architektur Container-Struktur: • Server: Repräsentant für die JVM-Instanz, in der Tomcat arbeitet (überwacht einen Port auf Shutdown-Kommando, Standard: SHUTDOWN auf Prot 8005), kann mehrere Services beherbergen • Service kann über mehrere Konnektoren erreichbar sein • Konnektor: für die Kommunikation mit der Außenwelt, überwacht einen Port, erzeugt ein passende Request/Tesponse-Paar und leitet es weiter

  10. Architektur • Engine: findet den passenden Bearbeiter für die Anfrage und leitet es an den zuständigen Host weiter • Host: entscheidet, an welchen Context das Request/Response-Paar weitergeleitet wird (mehrere „virtuelle Hosts“ können verwendet werden, um mehrere Websites auf einem Server zu betreiben) • Bei Add-On-Betrieb kann Engine und Host entfallen, Context-Zuordnung durch den Webserver • Context: bestimmt das Servlet und stellt Anfrage zu

  11. Architektur

  12. Architektur

  13. Installation • Quellcode und Binärdateien unter http://jakarta.apache.org/tomcat erhältlich • Für Windows neben Archiv auch Installer verfügbar • Normal-Installation sollte ausreichen (kein Quellcode und Windows-Service installiert) • Möglichkeit, Port (Standard 8080) und Passwort einzurichten

  14. Installation • Umgebungsvariablen JAVA_HOME und CATALINA_HOME müssen gesetzt werden • Start erfolgt durch Aufruf von startup.bat oder startup.sh im Unterverzeichnis bin • Anschließend ist die Startseite unter http://localhost:8080 erreichbar (Tomcat Administation Tool und Manager, Dokumentation, Servlet/JSP-Beispiele) • Beendet wird Tomcat durch das Skript shutdown • Unter Windows auch als Windows-Service

  15. Verzeichnisse • /server/ : server-eigene Archive • /lib/ : Archive von Webanwendungen • /common/lib/ : Archive, die beiden zur Verfügung stehen • classes/ : Erweiterung und Patches • /work/ : Klassen übersetzter JSPs • /webapps/ : Speicherort der Webapplikationen • /conf/ : Konfigurationsdateien

  16. Benutzer-Konfiguration <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> <user username="admin" password="" roles="admin,manager"/> </tomcat-users>

  17. Server-Konfiguration: server.xml • Aufbau der Tomcat-Instanz • <Context path = "/myapp" docbase="myapp" debug="0" reloadable="true" /> Aufruf: http://localhost/myapp/

  18. Servlet-Konfiguration: web.xml <servlet> <servlet-name>invoker</servlet-name> <servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet>

  19. web.xml <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> • Kann durch WEB-INF/web.xml erweitert bzw. überschrieben werden • Definiert Angaben wie Timeouts, MIME-Types

  20. Eclipse-Plugin von Sysdeo • Erhältlich unter http://www.sysdeo.com/eclipse/tomcatPlugin.html • In das Verzeichnis plugin von Eclipse • Window->Customize Perspective...->Others: Tomcat aktivieren • Window->Preferences->Tomcat: Tomcat-Version, -Pfad, JDK angeben • File->New->Project: Tomcat Project auswählen

  21. Literatur und Links • http://jakarta.apache.org/tomcat/ • http://www.galileocomputing.de/ • http://www.web-container.com/ • http://www.fhwedel.de/~si/seminare/ws02/Ausarbeitung/a.tomcat/tomcat0.htm

More Related