Latest web development tutorials

JSP Lifecycle

Der Schlüssel zum Verständnis der zugrunde liegenden JSP-Funktion ist zu verstehen, dass sie mit dem Lebenszyklus entsprechen.

JSP ist der Lebenszyklus von der Erstellung bis zur Zerstörung, ähnlich dem Servlet-Lebenszyklus, mit der Ausnahme, dass die JSP-Lebenszyklus umfasst auch eine JSP-Datei in ein Servlet kompiliert wird.

Im Folgenden ist der JSP-Lebenszyklus mehrere Stufen durchlaufen:

  • Kompilieren Phase:

    Servlet-Servlet-Container Kompilierung Quelldateien erzeugt Servlet-Klasse

  • Initialisierungsphase:

    Laden und JSP Servlet-Klasse entspricht, eine Instanz erstellen und seine Initialisierung Methode aufrufen

  • Die Implementierungsphase:

    Beispiele für Service ruft das Servlet und JSP entsprechende Verfahren

  • Zerstörung Phasen:

    Zerstörung Methodenaufruf und die JSP-Servlet-Instanz entspricht, dann zerstört Servlet-Instanz

Offensichtlich sind die vier Hauptphasen des Lebenszyklus von JSP und Servlet-Lebenszyklus ist sehr ähnlich wie die folgende Abbildung:


JSP-Kompilierung

Wenn ein Browser eine JSP-Seite anfordert, wird JSP-Engine müssen zunächst prüfen, ob die Datei zu kompilieren. Wenn diese Datei nicht kompiliert wird oder wurde nach dem letzten Mal geändert kompiliert, dann die JSP-Dateien zu kompilieren.

Der Übersetzungsvorgang erfolgt in drei Schritten:

  • Parsing JSP-Dateien.
  • Die JSP-Datei in Servlet.
  • Zusammengestellt Servlet.

JSP-Initialisierung

Nachdem der Behälter JSP-Datei geladen wurde, ruft es jspInit () Methode für die Anforderung, bevor Sie Service. Wenn Sie die Initialisierung Aufgaben JSP-Replikation jspInit () -Methode auf der Linie durchzuführen, wie folgt aus:

public void jspInit(){
  // 初始化代码
}

Im Allgemeinen initialisiert das Programm nur einmal, gut Servlet. Unter normalen Umständen können Sie die Datenbankverbindung in jspInit () -Methode, öffnen Sie die Datei zu initialisieren und eine Abfrage-Tabelle erstellen.


JSP Ausführung

Diese Phase beschreibt die JSP Lebenszyklus aller Interaktionen mit der Anforderung zugeordnet ist, bis sie zerstört wird.

Wenn die JSP-Seite Initialisierung abgeschlossen ist, wird JSP-Engine _jspService () -Methode aufrufen.

_jspService () -Methode erfordert ein HttpServletRequest Objekt und ein HttpServletResponse Objekt als Parameter, wie folgt aus:

void _jspService(HttpServletRequest request,
                 HttpServletResponse response)
{
   // 服务端处理代码
}

_jspService () -Methode wird einmal aufgerufen für jede Anforderung und ist verantwortlich für die Generierung entsprechender Antwort, und es ist verantwortlich für die Antworten auf alle sieben HTTP-Methoden wie GET zu erzeugen, POST, DELETE, und so weiter.


JSP Bereinigung

Zerstörung Bühne JSP Lifecycle beschreibt alles, wenn eine JSP-Seite entfernt von dem Behälter aufgetreten.

jspDestroy () -Methode in einer JSP-Servlet-Äquivalent zu den Vernichtungsmethoden. Wenn Sie eine Bereinigung durchführen müssen doppelte jspDestroy () -Methode, wie die Freigabe der Datenbankverbindung oder den Ordner zu schließen, und so weiter.

Format jspDestroy () Methode ist wie folgt:

public void jspDestroy()
{
   // 清理代码
}

Beispiele

JSP Lebenszyklus der Codebeispiele sind 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被初始化了"+initVar+"次");
  }
  public void jspDestroy(){
    destroyVar++;
    System.out.println("jspDestroy(): JSP被销毁了"+destroyVar+"次");
  }
%>

<%
  serviceVar++;
  System.out.println("_jspService(): JSP共响应了"+serviceVar+"次请求");

  String content1="初始化次数 : "+initVar;
  String content2="响应客户请求次数 : "+serviceVar;
  String content3="销毁次数 : "+destroyVar;
%>
<h1>本教程 JSP 测试实例</h1>
<p><%=content1 %></p>
<p><%=content2 %></p>
<p><%=content3 %></p>

</body>
</html>

Browser öffnet die Seite, die Ausgabe ist: