200 likes | 360 Views
Sommersemester 2004 Lehrstuhl für Wirtschaftsinformatik Technische Universität München. Servlet-Container Apache TomCat. Alexander Emmerich & Bernd Richter. 25.05.2004. Gliederung. Was ist TomCat? Was ist ein Servlet? TomCat als Servlet-Container Servlet-Container Arten
E N D
Sommersemester 2004 Lehrstuhl für Wirtschaftsinformatik Technische Universität München Servlet-Container Apache TomCat Alexander Emmerich & Bernd Richter 25.05.2004
Gliederung • Was ist TomCat? • Was ist ein Servlet? • TomCat als Servlet-Container • Servlet-Container Arten • Was macht ein Web-Server? • TomCat als Web-Server • Installation • Verzeichnisstruktur • Konfiguration • TomCat Skripte • Literaturangaben
Was ist TomCat? • Servlet-Container • Offizielle Implementierung für Java Servlet und JavaServer Pages (JSP) • „open source“ • Von Apache unter dem Projekt „Jakarta“ entwickelt
Was ist ein Servlet? • Auf Java basierende serverseitige Webkomponenten • Stellen Java-Klassen dar • Dynamische Generierung von Websites • Plattformunabhängig durch Java-Technologie • Flexibler Einsatz möglich • Erweiterung der Serverfunktionalität • Servlets verhalten sich ähnlich zu Applets • Applets sind Applikationen in Web-Pages
TomCat als Servlet-Container • Internet-Browser ist Container für Applets • Verantwortlich für Verwaltung von Servlets • Stellen Laufzeitumgebung für Komponenten zur Verfügung • Container leitet Anfragen an Servlets weiter • Verwaltet Lebenszyklus eines Servlets • Genau wie Browser: Applet sichtbar oder nicht • Teil des Web- oder Applikationsservers
Beispielanfrage Web-Server Servlet Servlet- Container Client HTTP-Anfrage Identifikation Servlet verwaltet alle Servlets Dynamische HTML-Site
Servlet-Container Arten • Drei große Gruppen: • Stand-alone servlet container • Falls Java-basierter Web-Server verwendet Container Bestandteil des Servers (TomCat im stand-alone Modus) • In-process servlet container • Kombination aus Web-Server Plugin und einer Java Container Implementation • JVM wird im Adressbereich des Web-Servers geöffnet, darin läuft der Servlet-Container • Ausführung von Serlvlet verlangt Plugin übernimmt Anfrage Übergabe an Servlet-Container
Servlet-Container Arten • Drei große Gruppen: (…) • Out-of-process servlet container • Servlet-Container laufen in externer JVM ab • Plugin übernimmt Anfrage Weiterleitung an JVM • Aufgrund der Konstruktion: längere Antwortzeit • Aber Vorteile: Stabilität und Skalierbarkeit
Was macht ein Web-Server? • Hauptaufgabe: Warten auf und Beantworten von HTTP-Anfragen • Erweiterung um Servlet-Container Funktionsänderung: • Servlet-Container Bibliotheken laden und initialisieren bevor eine Anfrage kommt • Anfrage kommt: Entscheidung ob diese für Servlet gedacht ist • Weiterleitung an Adapter • Weitere Informationen übermitteln (hinter Form der URLs)
TomCat als Web-Server • „stand-alone-Server“: • TomCat eigener Web-Server • Voll funktionsfähig • „add-on-Server“: • Erweiterung eines existierenden Web-Servers • Zusätzliche Funktionen möglich • Kompatibel zu: • Apache Version 3.1 oder später • Microsoft Internet Information Server (IIS), Version 4.0 oder später • Microsoft Personal Web Server, Version 4.0 oder später • Netscape Enterprise Server, Version 3.0 oder später
Installation • Download auf http://jakarta.apache.org • Entpacken in beliebiges Verzeichnis, wird ein Unterverzeichnis namens ‚Tomcat‘ angelegt • Mit dem Befehl (unter Windows): „setTOMCAT_HOME=Verzeichnis/Tomcat“ wird eine neue Umgebungsvariable gesetzt • Falls nicht vorhanden, sollte eine JAVA_HOME Umgebungsvariable erstellt werden
Umgebungsvariablen • Prüfung unter Systemsteuerung ->System -> Umgebung
Installation als Apache „add-on“ • „Stand-alone“ hat Nachteile: • Statische Seiten bei TomCat langsamer als bei Apache • Weniger konfigurierbar als Apache • Weniger robust • Viele Internetauftritte stützen auf Apache Web-Server • Deshalb als „add-on“: • Hier muss hauptsächlich Apache umkonfiguriert werden
Konfiguration • wichtigste Einstellung ist die Festlegung der URLs, denn nur so kann entschieden werden, ob eine Anfrage an den Adapter geschickt werden soll • Außerdem muß noch Folgendes berücksichtigt werden: • Es muß angegeben werden, welche TOMCAT-Prozesse zu Verfügung stehen und am welchen Port diese auf die Anfrage warten • Der Pfad zu den Adapter Bibliotheken muß angepaßt werden, so daß diese beim Hochfahren geladen werden. • Es müssen einige interne Informationen angepaßt werden. So zum Beispiel, wo der Adapter seine Log-Dateien speichern soll, usw.
Konfiguration 2 • Die Konfiguration von Tomcat wird standardgemäß durch das Inhaltsverzeichnis der im conf-Verzeichnis gefundenen server.xml Dateien bestimmt. • Es gibt verschiedene Konfigurationskategorien: • Top Level Elements - <server>ist das Wurzelelement der ganzen Konfiguration-Datei, während <service> eine Gruppe von Anschlüssen vertritt, die mit einer Maschine verbunden wird. • Connectors - Schnittstelle von externen Clients die Anfragen an einen bes. Dienst schicken. (und Antworten)
Konfiguration 3 • Containers - Bestandteile deren Funktion es ist, eingehende Anfragen zu verarbeiten und die entsprechenden Antworten zu beschaffen. • Nested Components - Elemente, die im Element für einen Container verschachtelt sein können. Einige Elemente können in jedem Container verschachtelt sein, während andere nur in einem Context verschachtelt sein können.
TomCat Skripte • TOMCAT ist ein Java-Programm • Kann von der Kommandozeile aus gestartet werden • Dazu müßten jedoch erst verschiede Umgebungsvariablen gesetzt werden sehr mühsam und fehleranfällig • Deshalb enthält das “TOMCAT/bin“ Verzeichnis einige Skripte, die diese Aufgabe übernehmen • leichtes Starten und Anhalten von TOMCAT möglich
TomCat Skripte Skriptname Beschreibung tomcat Dies ist das Hauptskript, es setzt die Umgebungsvariablen · CLASSPATH · TOMCAT_HOME · JAVA_HOME und startet TOMCAT mit den passenden Parametern. startup Startet TOMCAT im Hintergrund,Abkürzung für "tomcat start" shutdown Fährt TOMCAT herunter, Abkürzung für "tomcat stop"
Literaturangaben • The Appache Software Foundation – Tomcat versions http://jakarta.apache.org/tomcat/index.html • The Appache Software Foundation – Tomcat 3.3 User's Guidehttp://jakarta.apache.org/tomcat/tomcat-3.3-doc/tomcat-ug.html • Sun Microsystems, JavaServer Pages™ – Tomcat @ Jakarta - FAQhttp://java.sun.com/products/jsp/tomcat/faq.html