wenn container aufrufen deployment-Deskriptor (web.xml)
Wir wissen, dass, wenn ein request für ein servlet kommt, servlet-container, der zunächst überprüft, web.xml Datei url und der entsprechenden servlet-Klassen. Das ist in Ordnung, Aber die Verwirrung kommt danach. Angenommen, ich bin mit load-on-startup-Eigenschaft. SO, das servlet bereit sein sollte, bevor erste Anruf kommt. In diesem Fall container müssen servlet Config-Objekt, um servlet in Arbeit. Aber wieder load-on-start-up-und init-parameter für das servlet definiert ist web.xml Datei. Also Wann genau container verwendet web.xml?( bei Verwendung von load-on-startup-Eigenschaft wird verwendet, dann die container können natürlich nicht warten, für den ersten call, wieder container zu Lesen web.xml Datei, um zu wissen, ob das Grundstück ist mit einem servlet.)
Es wird besser sein, wenn manche kann man klar meine Verwirrung. Bitte geben Sie einige zuverlässige Verbindung auch, wenn möglich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
web.xml
wird gelesen, sobald Sie bei der Bereitstellung Ihrer Anwendung auf einem web-server. Aus Gründen des Verständnisses, können Sie davon ausgehen container ist nichts aber Ihrem web-server. Obwohl web-server hat mehr als nur einen web-container.Web-server liest die
web.xml
, und lädt den Kontext config laden bei Start servelts,etc.web.xml
ist die Datei, durch die Sie sagen, Ihre container/- server an Ihre Anwendung. Ihre web-Anwendung sitzt im inneren der web-server, und der server fängt alle eingehenden Anfragen, die entscheidet, welche Anwendung die Anforderung weitergeleitet werden soll, je nach Kontext.Laden und Instanziierung:
Der servlet container ist verantwortlich für das laden und instanziieren von servlets. Das laden und instanziieren kann auftreten, wenn der container gestartet wird, oder hinausgezögert werden, bis der container bestimmt das servlet benötigt wird, um eine Anfrage.
Werden, wenn die servlet-engine gestartet wird, benötigt servlet-Klassen müssen sich von der servlet-container. Der servlet container lädt das servlet-Klasse mit normalen Java-Klasse laden-Einrichtungen. Der laden kann von einem lokalen Dateisystem, auf einem remote-Datei-system, oder andere Netzwerk-Dienste. Und als die servlets deklariert sind, in der
web.xml
ist, wird diese Datei geladen und gelesen werden vom container bei container-Start.Initialisierung:
Nachdem das servlet-Objekt instanziiert wird, muss der Behälter initialisiert das servlet vor
es können Anfragen von clients.Der container initialisiert das servlet-Instanz durch Aufruf der init-Methode des Servlet-Schnittstelle mit einer eindeutigen (pro servlet Deklaration) - Objekt Umsetzung der
ServletConfig
- Schnittstelle.Ref: JSR-000315 JavaTM Servlet 3.0