Servlet-Lebenszyklus
Der Lebenszyklus eines Servlets wird vom Servlet-Container verwaltet. Der Lebenszyklus kann in 5 Phasen zusammengefasst werden:- Load Servlet class
- Create Servlet instance
- Call method init()
- Rufen Sie die Methode service()
- Rufen Sie die Methode destroy()
Schritt 4 wird jedes Mal mehrmals ausgeführt Anfrage HTTP.
Schritt 5 wird ausgeführt, wenn der Servlet-Container das Servlet zerstört.
Dies ist ein Algorithmus, der den Lebenszyklus eines Servlets darstellt:
Die Schritte werden im Folgenden ausführlich erläutert:
Laden Sie die Servlet-Klasse
Zuerst wird das Servlet aufgerufen, Der Servlet-Container muss die Servlet-Klasse laden. Dies geschieht wie bei jeder anderen Klasse.Create Servlet instance
Nachdem die Klasse geladen wurde, erstellt der Container eine neue Servlet-Instanz. In der Regel wird nur eine Instanz erstellt und die Anfrage werden in derselben Servlet-Instanz verarbeitet. Es ist an der Servlet-Container zu entscheiden, aber im Allgemeinen gibt es nur eine Instanz.Call init()
Die Methode init() ist so konzipiert, dass es nur einmal aufgerufen werden kann. Wenn die Instanz erstellt wird, wird die Methode init() aufgerufen wird. . Es ermöglicht dem Servlet, initialisiert zu werden, bevor die erste Anforderung verarbeitet wird. Sie können die Servlet-Initialisierungsparameter im web.xml.Die init()-Methode sieht folgendermaßen aus:
public void init() throws ServletException {
// Initialisierung...
}
Call service()
Für jede empfangene Anfrage erstellt der Server einen neuen Thread und führt die Methode ausservice(). Die Methode service() prüft den Typ des HTTP-Requests (GET, POST, PUT, DELETE, etc.) und ruft die entsprechenden Methoden doGet, doPost, doPut, doDelete, etc. auf. Solange das Servlet aktiv bleibt, wird die Methode service() kann erneut aufgerufen werden. Dieser Schritt kann also der längste Schritt im Lebenszyklus eines Servlets sein, da er mehrmals ausgeführt wird.Hier ist die Deklaration dieser Methode:
public void service(ServletRequest request,Die Methoden doGet() und doPost() werden häufig bei jedem Eintreffen verwendet. bitten. Hier ist die Aussage beider Methoden.
ServletResponse response)
throws ServletException, IOException{
}
Die doGet()Die GET-Anfrage wird in einer URL oder in einem HTML-Formular erstellt, für das keine Methode definiert ist und die von doGet() verarbeitet werden muss.
public void doGet(HttpServletRequest request,
HttpServletResponse response)
löst ServletException aus, IOException {
// code
}
Die doPost()
La -Methode Abfrage POST wird in einem HTML-Formular erstellt und sollte von der Methode doPost().
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// Servlet code
}
Call destroy()
method < span style="font-family: Courier New, Courier, minivan;" >destroy() wird nur einmal am Ende des Lebenszyklus eines Servlets aufgerufen. Mit dieser Methode können Sie die Verbindung schließen, Threads stoppen und Cookie-Listen speichern.
After destory() aufgerufen wird, wird das Servlet-Objekt zerstört. Die Methode destory() sieht so aus:
public void destroy() {
// Finalisierungscode...
}
HttpServletResponse response)
löst ServletException aus, IOException {
// code
}
Die doPost()
La -Methode Abfrage POST wird in einem HTML-Formular erstellt und sollte von der Methode doPost().
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// Servlet code
}
public void destroy() {
// Finalisierungscode...
}