# Servlet pro Request



## lukas24680 (3. Aug 2011)

Hallo,

ich kenne mich gut in Java aus, bin aber zur Zeit dabei mich zum ersten Mal mit Tomcat und Servlets zu beschäftigen. Ich habe folgende Fragen:

1) Werden Java Servlets immer pro request gestartet oder laufen sie durch und haben einen Handler für Anfragen?

2) Ich benötige 2 Komponenten: Eine soll durchlaufen und eine soll die Requests handlen. Ich habe gesehen, dass es anscheinend Java Daemons auf Tomcat gibt. Wie können die zwei Komponenten miteinander Daten austauschen? Nur über Sockets? Oder kann man sie praktisch zusammen linken, sodass sie sich die Java-Objekte teilen können ...


----------



## dayaftereh (3. Aug 2011)

Zu 1)

Also Servlets leben sollange wie der Tomcat das mag, sie können 5 Request oder auch 1000 Requests leben. Es gibt keine Garantie wie lange ein Servlet im Applikations Scope vom Tomcat ist.

Zu 2)

Ich verstehe nicht was du mit Komponenten meinst? Sind das ihrgend welche Instance?


----------



## fisherman (6. Aug 2011)

Zu 1) Der Webcontainer initialisiert das Servlet einmal, entweder beim ersten Request oder beim Starten des Webcontainers, wenn das so in der web.xml eingetragen ist (load-on-startup). Der Container übergibt dem Servlet jeweils ein request- und response-Objekt. Was damit passieren soll, entscheidest du. Ein Servlet hat nicht per se irgendwelche Handler - es sei denn, du meinst die service()-Methode und im HttpServlet die doWhatever()-Methoden. Entweder implementierst du die Methoden des Servlets so, dass es selbst den Request verarbeitet, oder so, dass es diese Arbeit an irgendwelche Handler-Klassen abgibt.

Zu 2) Diese Frage ist mir auch unverständlich.


----------

