Was ist Tomcat genau?

Snape

Erfahrenes Mitglied
Moin,
kann mir jemand erklären, was Tomcat genau bedeutet?
Ich habe Tomcat installiert. Nun möchte ich einen Webserver laufen haben. Einen, der .php, .htm(l) und .jsp abarbeitet. Kann Tomcat das oder muss ich zusätzlich noch Apache installieren? In den Tomcat-Einstellungen finde ich nämlich nichts dergleichen zu Dateitypen oder Rootverzeichnis.

Ich bitte um Erleuchtung.
 
Hallo!

Der Tomcat stellt in erster Linie die Referenzimplementierung der Servlet und JSP Spezifikation dar. Ist also im Prinzip ein Servlet Container (Jetty) mit einer JSP Engine (Jasper).
Der Tomcat stellt dir also eine Umgebung (Container) bereit in der Konstrukte wie Java Servlets "leben" können. Zusätzlich bietet Tomcat noch ein paar weitere Extras wie etwa Authentifizierungs- und Authorisierungsmöglichkeiten über sogenannte Realms[Geschützte Bereiche] (File, Datenbank oder LDAP basiert), bietet einen internen Verzeichnisdienst (ähnlich LDAP, oder AD bei Windows)--> JNDI und eröffnet die Möglichkeit gepoolte Datenquellen im Container zu hinterlegen die dann von den darin laufenden Applikationen verwendet werden können. und und und...

Wenn man die Funktionalität des Tomcats (JSP, Servlets) zusätzlich zu der eines Apache haben will (PHP, Perl, ....) dann gibt es da verschiedene "Connectoren" die je nach Bereich/Request der Anfrage (Wars ne JSP Seite -> Tomcat; oder wars ne PHP Seite Apache) den jeweiligen "Zielserver" auswählen.
( http://www.greenfieldresearch.ca/technical/jk2_config.html )

Konfigurieren tut man den Tomcat über die Datei server.xml im %Tomcat-Home%/conf - Verzeichnis. Den "allgemeinen" Web-Context Konfigurierst du über die Datei web.xml in dem selben Verzeichnis. Die "speziellen" Web-Kontext Konfigurationen stellst du dann wiederum über eine web.xml Datei im Verzeichnis WEB-INF der jeweiligen Web Applikation fest.

Das DocRoot ("/") ist standardmäßig der Ort auf den das DefaultServlet zeigt (siehe Servlet Mappings in der "ersten" web.xml)

Gruß Tom
 
Thomas Darimont hat gesagt.:
Hallo!

Der Tomcat stellt in erster Linie die Referenzimplementierung der Servlet und JP Spezifikation dar. Ist also im Prinzip ein Servlet Container (Jetty) mit einer JSP Engine (Jasper).
Der Tomcat stellt dir also eine Umgebung (Container) bereit in der Konstrukte wie Java Servlets "leben" können.

Aha, ok.

Zusätzlich bietet Tomcat noch ein paar weitere Extras wie etwa Authentifizierungs- und Authorisierungsmöglichkeiten über sogenannte Realms[Geschützte Bereiche] (File, Datenbank oder LDAP basiert), bietet einen internen Verzeichnisdienst (ähnlich LDAP, oder AD bei Windows)--> JNDI und eröffnet die Möglichkeit gepoolte Datenquellen im Container zu hinterlegen die dann von den darin laufenden Applikationen verwendet werden können. und und und...

In diesem Block habe ich jetzt so ungefähr null verstanden.

Konfigurieren tut man den Tomcat über die Datei server.xml im %Tomcat-Home%/conf - Verzeichnis. Den "allgemeinen" Web-Context Konfigurierst du über die Datei web.xml in dem selben Verzeichnis. Die "speziellen" Web-Kontext Konfigurationen stellst du dann wiederum über eine web.xml Datei im Verzeichnis WEB-INF der jeweiligen Web Applikation fest.

Das DocRoot ("/") ist standardmäßig der Ort auf den das DefaultServlet zeigt (siehe Servlet Mappings in der "ersten" web.xml)

Gruß Tom

Ich nehme an, die mehr oder weniger kryptischen Einträge in den .xmls sind wieder eine Wissenschaft für sich...bei denen man sich wieder die Finger wund sucht nach Erklärungen, was wo wie und warum einzutragen ist...*sigh*
 
Snape hat gesagt.:
In diesem Block habe ich jetzt so ungefähr null verstanden.

Dann friemel ich dir das mal eben auseinander:

Tom: Zusätzlich bietet Tomcat noch ein paar weitere Extras wie etwa Authentifizierungs- und Authorisierungsmöglichkeiten über sogenannte Realms[Geschützte Bereiche] (File, Datenbank oder LDAP basiert)

Erklärung: Tomcat bietet ein ähnliches Authentifizierungssystem wie Apache über (z.b .htaccess Dateien). Realms sind ähnlich dem was in der .htaccess unter Apache definiert wird.

TP;_ bietet einen internen Verzeichnisdienst (ähnlich LDAP, oder AD bei Windows)--> JNDI und eröffnet die Möglichkeit gepoolte Datenquellen im Container zu hinterlegen die dann von den darin laufenden Applikationen verwendet werden können. und und und...

AD = Active Directory, Verzeichnissdienste stellen etwas ähnliches dar, wie z.b das Buch
"die Gelben seiten". Mann kann über Namen auf bestimmte Objecte zugreifen. So kann mann dann eine Datenbank Verbindung unter einen bestimmten Namen ablegen und der Benutzer des Tomcat kann dies aus dem Verzeichnis holen und öffnen.

Gepoolte Datenquellen bedeutet nichts anderes als das der Tomcat Servlet Container mehrere Datenbankverbindungen offen und bereit hält. Auf Anfrage (über den JNDI - siehe oben erklärung Verzeichnisdienst) gibt er eine der Verbindungen raus. Sie kann nun benutzt werden und wieder an den Container zurückgegeben werden.
Das macht sinn weil es viele Datenbanken gibt die oft nur begrenzte Mengen an Verbindungen zulassen.

Ich nehme an, die mehr oder weniger kryptischen Einträge in den .xmls sind wieder eine Wissenschaft für sich...bei denen man sich wieder die Finger wund sucht nach Erklärungen, was wo wie und warum einzutragen ist...*sigh*
Nein Tomcat ist hier recht nett und einfach.
 
Hi jungs,
habe da auch mal ne Frage, da ich eine Oracle Database besitze und diese den Port 8080 verwendet kann ich nicht auch mein Apache Tomcat zugreifen da er ebenfalls den gleichen Port besitzt.
Wie kann ich nun eine Änderung vornehmen, damit ich auch an den Tomcat dran kann.
 
Ich wurde quasi in der Firma "gezwungen", ein Java-Tool (welches auf Tomcat läuft) zu debuggen. Tomcat ist ein für mich Graus. Echt eine Wissenschaft. Er mag sicher seine Vorzüge haben, aber man muss sich schon erst mal richtig tief einlesen um überhaupt ein kleines bischen damit herumzuexperimentieren. Und die Dokumentation auf der Apache-Website lässt doch sehr zu wünschen übrig (immer wieder unvollständig).
 
Zuletzt bearbeitet:
Hallo,

kann mir jemand sagen ob ich auf einem Tomcat überhaupt und wenn ja wie Session Beans benutzen kann?

Oder unterstützt Tomcat den ganzen Kram aus Java EE garnicht?

Edit: Ok, das Tomcat von Haus nur Servlets und JSP unterstützt hab ich schon rausgefunden. Falls es jedoch ein Tomcat Plugin dafür geben sollte oder sonst etwas wie sich das realisieren lässt, kann es ja mal bitte posten, thx.
 
Zuletzt bearbeitet:
Deine Frage ist vermutlich eher ob Tomcat EJB(3) kann. EJB != JavaEE. JavaEE ist eine Sammlung von Spezifikationen zu der auch EJB gehört (was Tomcat out of the box nicht kann), allerdings auch die Servlet API (die Tomcat eben kann). D.h. nach JavaEE zu fragen ist etwas schwierig.

Grundsätzlich stellt sich die Frage, warum du - wenn du EJB nutzen willst - nicht halt einen EJB Container (Glassfish, JBoss o.ä.) nutzt?

Gruß
Ollie
 
Hallo zusammen,

In Bezug auf tomcat habe ich eine Frage:
-Ich habe in tomact User mit Rolle definiert, und jetzt will ich die rolle lesen wie geht es das?
Übrigens die user kann ich schön lesen mit request.getUserRemot().

Gruss
 
Zurück