Latest web development tutorials

JSP del ciclo di vita

La chiave per comprendere la funzione JSP sottostante è quello di capire che siano conformi con il ciclo di vita.

JSP è il ciclo di vita dalla creazione alla distruzione, simile al ciclo di vita servlet, tranne che il ciclo vitale JSP include anche un file JSP viene compilato in un servlet.

Quello che segue è il ciclo di vita JSP attraversato diverse fasi:

  • Compilare Fase:

    file di origine contenitore di compilazione servlet servlet generato classe servlet

  • fase di inizializzazione:

    Caricamento e corrispondente classe servlet JSP, creare un'istanza e chiamare il suo metodo di inizializzazione

  • La fase di attuazione:

    Esempi di servizio chiama il metodo corrispondente servlet e JSP

  • fasi Distruzione:

    metodo di distruzione di chiamata e la corrispondente istanza servlet JSP, poi distrutti esempio servlet

Ovviamente, le quattro fasi principali del ciclo di vita della JSP e servlet ciclo di vita è molto simile a quella illustrata di seguito:


compilazione JSP

Quando un browser richiede una pagina JSP, motore di JSP sarà necessario prima verificare se per compilare il file. Se questo file non viene compilato, o compilato è stato modificato dopo l'ultima volta, quindi compilare i file JSP.

Il processo di compilazione prevede tre passaggi:

  • L'analisi di file JSP.
  • Il file JSP in servlet.
  • servlet compilato.

JSP inizializzazione

Dopo che il contenitore è stato caricato file JSP, si chiama il metodo jspInit () per la richiesta prima di fornire qualsiasi servizio. Se è necessario eseguire il metodo di inizializzazione compiti JSP replica personalizzato jspInit () sulla linea, in questo modo:

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

In generale, il programma inizializzato solo una volta, servlet bene. In circostanze normali, è possibile inizializzare la connessione al database in modo jspInit (), aprire il file e creare una tabella di query.


esecuzione JSP

Questa fase descrive il ciclo di vita JSP di tutte le interazioni associate alla richiesta finché non viene distrutta.

Quando la pagina di inizializzazione JSP è completa, il motore JSP chiamerà metodo _jspService ().

_jspService () metodo richiede un oggetto HttpServletRequest e un oggetto HttpServletResponse come parametro, in questo modo:

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

Metodo _jspService () viene chiamato una volta per ogni richiesta ed è responsabile della generazione Corrispondentemente risposta, ed è responsabile della generazione risposte a tutte le sette metodi HTTP come GET, POST, DELETE, e così via.


JSP pulizia

Distruzione fase del ciclo di vita JSP descrive tutto quando una pagina JSP viene rimosso dal verificato contenitore.

Metodo jspDestroy () in un servlet JSP equivalente ai metodi di distruzione. Quando è necessario eseguire una pulizia duplicare il metodo jspDestroy (), come ad esempio il rilascio della connessione al database o chiudere la cartella, e così via.

metodo Format jspDestroy () è il seguente:

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

Esempi

JSP ciclo di vita degli esempi di codice sono i seguenti:

<%@ 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 apre la pagina, l'output è: