Java [TomCat] Wie, wann und wo Servlet-Instantiierung; zur Laufzeit manipulieren?

T

Tersus

Gast
Guten Morgen,

bisher verwende ich einige Klassen als Servlets. Diese sind nun mit einer URL verknüpft und ihre Methoden werden, sofern ihre URL aufgerufen wurde, dann ausgeführt.

Meine Frage bezieht sich auf die Instantiierung. An welche Stelle geschieht das? Und wird für jeden URL-Aufruf eine neue Instanz erzeugt? Habt ihr Links für mich, wo ich das Nachlesen kann?
 
Tersus schrieb:
Meine Frage bezieht sich auf die Instantiierung. An welche Stelle geschieht das?

Das bleibt Deinem Servlet-Container überlassen. Er kann das bereits beim Laden des EAR/WAR machen oder spätestens beim ersten Aufruf durch die URL des Clients.

Tersus schrieb:
Und wird für jeden URL-Aufruf eine neue Instanz erzeugt?

Nein, per default gibt es eine Instanz pro Servlet. Kommen jedoch mehrere Request quasi simultan rein, dann kann der Server diese per Threadpool beantworten.

Tersus schrieb:
Habt ihr Links für mich, wo ich das Nachlesen kann?

"Chapter 10 Java Servlet Technology" --> https://docs.oracle.com/cd/E19798-01/821-1841/bnafd/index.html
 
Das ist merkwürdig, da mein Debugger bei jedem URI- bzw. Ressourcen-Aufruf meines Servlets den Konstruktor aufruft. Das heißt ja eindeutig, dass für jeden XY-Request eine neue Instantiierung statt findet.
 
Zurück
Oben