Latest web development tutorials

JSP Lifecycle

La clé pour comprendre la fonction JSP sous-jacente est de comprendre que leur conformité avec le cycle de vie.

JSP est le cycle de vie de la création à la destruction, semblable au cycle de vie du servlet, sauf que le cycle de vie JSP inclut également un fichier JSP est compilé dans un servlet.

Ce qui suit est le cycle de vie JSP traversé plusieurs étapes:

  • Phase de compilation:

    servlet servlet fichiers source conteneur de compilation généré de la classe servlet

  • la phase d'initialisation:

    Chargement et correspondant classe de servlet JSP, créer une instance et appeler sa méthode d'initialisation

  • La phase de mise en œuvre:

    Exemples de service appelle la méthode correspondante servlet et JSP

  • les étapes de destruction:

    méthode Destruction appel et l'instance de servlet JSP correspondant, puis détruits par exemple servlet

De toute évidence, les quatre principales étapes du cycle de vie des JSP et du cycle de vie de servlet est très similaire à l'illustration ci-dessous:


compilation JSP

Lorsqu'un navigateur demande une page JSP, le moteur JSP devra d'abord vérifier si pour compiler le fichier. Si ce fichier est pas compilé, ou compilé a été changé après la dernière fois, puis compiler les fichiers JSP.

Le processus de compilation comprend trois étapes:

  • Parsing fichiers JSP.
  • fichier dans servlet Le JSP.
  • servlet Compilé.

JSP Initialisation

Après le conteneur a été chargé fichier JSP, il appelle la méthode jspInit () pour la demande avant de fournir tout service. Si vous devez effectuer la méthode des tâches d'initialisation JSP réplication personnalisée jspInit () sur la ligne, comme ceci:

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

D'une manière générale, le programme initialise une seule fois, bien servlet. Dans des circonstances normales, vous pouvez initialiser la connexion de base de données dans la méthode jspInit (), ouvrez le fichier et créer une table de requête.


exécution JSP

Cette étape décrit le cycle de vie JSP de toutes les interactions associées à la demande jusqu'à ce qu'elle soit détruite.

Lorsque la page JSP initialisation est terminée, le moteur JSP appellera méthode _jspService ().

_jspService () méthode nécessite un objet HttpServletRequest et un objet HttpServletResponse comme paramètre, comme ceci:

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

méthode _jspService () est appelée une fois pour chaque demande et est responsable de la génération correspondante réponse, et il est responsable de la production de réponses à toutes les sept méthodes HTTP telles que GET, POST, DELETE, et ainsi de suite.


JSP nettoyage

étape de destruction JSP cycle de vie décrit tout quand une page JSP est retiré du récipient a eu lieu.

méthode jspDestroy () dans un servlet JSP équivalente aux méthodes de destruction. Lorsque vous avez besoin d'effectuer un nettoyage en double méthode jspDestroy (), comme la libération de la connexion de base de données ou de fermer le dossier, et ainsi de suite.

Format méthode jspDestroy () est la suivante:

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

Exemples

JSP cycle de vie des exemples de code sont les suivants:

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

Navigateur ouvre la page, la sortie est: