English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Der Schlüssel zum Verständnis der grundlegenden Funktionen von JSP ist es, ihren Lebenszyklus zu verstehen.
Der Lebenszyklus von JSP ist der gesamte Prozess vom Erstellen bis zum Zerstören, ähnlich wie der Lebenszyklus von Servlet, der Unterschied liegt darin, dass der Lebenszyklus von JSP auch die Kompilierung der JSP-Datei in Servlet umfasst.
Hier sind einige Phasen, die im Lebenszyklus von JSP zurückgelegt werden:
Kompilierungsphase:
Der Servlet-Container kompiliert die Servlet-Quelldatei und generiert die Servlet-Klasse
Initialisierungsphase:
Laden der Servlet-Klasse, die mit JSP korrespondiert, Erstellen ihres Beispiels und Aufruf ihrer Initialisiermethode
Ausführungsphase:
Aufruf der Dienstmethode des Servlet-Beispiels, das mit JSP korrespondiert
Zerstörungsphase:
Aufruf der Zerstörungsmethode des Servlet-Beispiels, das mit JSP korrespondiert, und Zerstörung des Servlet-Beispiels
Es ist offensichtlich, dass die vier Hauptphasen des JSP Lebenszyklus sehr ähnlich dem Lebenszyklus des Servlets sind, unten ist eine Illustration dazu gegeben:
Wenn der Browser eine JSP-Seite anfordert, überprüft der JSP-Generator zunächst, ob eine Kompilierung dieser Datei erforderlich ist. Wenn diese Datei noch nicht kompiliert wurde oder nach der letzten Kompilierung geändert wurde, wird die JSP-Datei kompiliert.
Der Kompilationsprozess umfasst drei Schritte:
Analyse der JSP-Datei.
Umwandlung der JSP-Datei in Servlet.
Kompilieren von Servlets.
Der Container lädt die JSP-Datei und ruft die jspInit() Methode auf, bevor er jegliche Dienste für die Anfrage bereitstellt. Wenn Sie benutzerdefinierte JSP-Initialisierungsaufgaben ausführen müssen, überschreiben Sie die jspInit() Methode, wie folgt:
public void jspInit(){ // Initialisierungscode }
Im Allgemeinen wird das Programm nur einmal initialisiert, und das gilt auch für Servlets. Normalerweise können Sie Datenbankverbindungen initialisieren, Dateien öffnen und Abfrage-Tabellen erstellen, indem Sie die jspInit() Methode aufrufen.
Dieser Abschnitt beschreibt alle Interaktionsverhalten, die mit Anfragen im JSP Lebenszyklus in Verbindung stehen, bis zur Zerstörung.
Wenn die JSP-Seite die Initialisierung abgeschlossen hat, ruft der JSP-Generator die _jspService() Methode auf.
_jspService() Methode benötigt ein HttpServletRequest Objekt und ein HttpServletResponse Objekt als Parameter, wie folgt:
void _jspService(HttpServletRequest request, HttpServletResponse response) { // Serverseitige Verarbeitungscodes }
_jspService() Methode wird bei jedem Request einmal aufgerufen und ist für die Erstellung der entsprechenden Response verantwortlich, und sie ist auch für die Erstellung aller7Antworten auf HTTP Methoden wie GET, POST, DELETE usw.
Die Zerstörungsphase des JSP Lebenszyklus beschreibt alles, was passiert, wenn eine JSP-Seite aus dem Container entfernt wird.
jspDestroy() Methode in JSP entspricht der Destroy-Methode im Servlet. Wenn Sie jegliche Aufräumarbeiten durchführen müssen, überschreiben Sie die jspDestroy() Methode, z.B. Freigabe von Datenbankverbindungen oder Schließen von Ordnern usw.
jspDestroy() Methode Format ist wie folgt:
public void jspDestroy() { // Aufräumarbeiten }
JSP Lebenszyklusbeispiel wie folgt:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>" <html> <head> <title>life.jsp</title> </head> <body> <%! private int initVar=0; private int serviceVar=0; private int destroyVar=0; %> <%! public void jspInit(){ initVar++; System.out.println("jspInit(): JSP wurde initialisiert"+initVar+"Anfragen"); } public void jspDestroy(){ destroyVar++; System.out.println("jspDestroy(): JSP wurde zerstört"+destroyVar+"Anfragen"); } %> <% serviceVar++; System.out.println("_jspService(): JSP hat insgesamt "+serviceVar+"Anfragen"); String content1="Initialisierungen: "+initVar; String content2="Antworten auf Kundenanfragen: "+serviceVar; String content3="Zahl der Abbrüche: "+destroyVar; %> <h1>Grund教程(oldtoolbag.com) JSP Testbeispiel</h1> <p><%=content1 %></p> <p><%=content2 %></p> <p><%=content3 %></p> </body> </html>
Öffnen Sie diese Seite im Browser, und das Ausgabeergebnis lautet: