Latest web development tutorials

Lifecycle JSP

Kluczem do zrozumienia leżących u podstaw funkcji JSP jest, aby zrozumieć, że są one zgodne z cyklem życia.

JSP jest cykl życia od utworzenia do zniszczenia, podobny do cyklu życia serwletu, oprócz tego, że cykl życia JSP zawiera również plik JSP jest kompilowany do serwletu.

Poniżej znajduje się cyklem JSP ciągnie się kilka etapów:

  • Kompilowania etap:

    Aplet serwletów pliki źródłowe Pojemnik kompilacji wygenerowane klasy serwletu

  • Faza inicjalizacji:

    Załadunek i odpowiadające JSP klasy aplet, utwórz instancję i wywołać jego metodę inicjalizacji

  • Faza realizacji:

    Przykłady usługi wywołuje serwletów i JSP odpowiednią metodę

  • Etapy zniszczenia

    Zniszczenie wywołanie metody i odpowiednie JSP instancji serwletu, a następnie zniszczone serwletu instancji

Oczywiście, cztery główne etapy cyklu życia JSP i cyklu życia serwletu jest bardzo podobna do poniższej ilustracji:


Kompilacja JSP

Gdy przeglądarka żąda strony JSP, silnik JSP najpierw trzeba sprawdzić, czy do przygotowania dokumentacji. Jeśli ten plik nie jest kompilowany lub skompilowana została zmieniona po raz ostatni, a następnie kompilacji plików JSP.

Proces kompilacji obejmuje trzy etapy:

  • Parsowania plików JSP.
  • plik JSP na servlet.
  • Zestawione aplet.

JSP inicjalizacji

Po pojemnik został załadowany plik JSP, wywołuje metodę jspInit () na żądanie przed udzieleniem jakiejkolwiek usługi. Jeśli trzeba wykonać metodę zadania inicjalizacji JSP niestandardowych replikacji jspInit () na linii, jak poniżej:

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

Ogólnie, program inicjowane tylko raz, a serwlet. W normalnych warunkach, można zainicjować połączenie z bazą danych w metodzie jspInit (), otwórz plik i utworzyć tabelę zapytania.


wykonanie JSP

Na tym etapie cyklu życia JSP wszystkich oddziaływań związanych z wnioskiem, dopóki nie zostanie zniszczona.

Gdy strona JSP inicjalizacji jest kompletna, silnik JSP wywoła metodę _jspService ().

_jspService () metoda wymaga obiektu HttpServletRequest i obiekt HttpServletResponse jako parametr w następujący sposób:

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

Sposób _jspService () jest wywoływana raz dla każdego żądania i jest odpowiedzialny za generowanie Odpowiednio reakcji, i jest odpowiedzialny za generowanie odpowiedzi na wszystkie siedem takich metod HTTP GET, POST, USUŃ, i tak dalej.


Oczyszczanie JSP

Zniszczenie JSP etapie cyklu życia opisuje wszystko, gdy strona JSP jest usuwany z wystąpiło pojemnik.

Sposób w JSP servlet równoważne metodom niszczenia jspDestroy (). Kiedy trzeba wykonać dowolną metodę oczyszczania powielić jspDestroy (), takie jak uwolnienie połączenia z bazą danych lub zamknąć folder, i tak dalej.

Sposób formatu jspDestroy () jest następujący:

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

Przykłady

JSP cykl życia przykłady kodu przedstawiają się następująco:

<%@ 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>

Przeglądarka otwiera stronę, wyjście jest: