Latest web development tutorials

Ciclo de Vida de JSP

La clave para entender la función de JSP que subyace es entender que cumplen con el ciclo de la vida.

JSP es el ciclo de vida desde la creación hasta la destrucción, similar al ciclo de vida del servlet, excepto que el ciclo de vida JSP también incluye un archivo JSP se compila en un servlet.

El siguiente es el ciclo de vida de JSP atravesado varias etapas:

  • Compilar Fase:

    servlet servlet archivos de origen de compilación contenedor generado clase servlet

  • Fase de inicialización:

    Carga y correspondiente clase servlet JSP, cree una instancia y llamar a su método de inicialización

  • La fase de ejecución:

    Los ejemplos de llamadas de servicio al servlet y JSP correspondiente método

  • etapas de destrucción:

    Destrucción llamada al método y la correspondiente instancia de servlet JSP, entonces destruidas instancia de servlet

Obviamente, las cuatro etapas principales del ciclo de vida de JSP y servlets ciclo de vida es muy similar a la siguiente ilustración:


compilación JSP

Cuando un navegador solicita una página JSP, motor JSP primero tendrá que comprobar si para compilar el archivo. Si este archivo no está compilada, o compilado fue cambiado después de la última vez, a continuación, compilar los archivos JSP.

El proceso de compilación consta de tres pasos:

  • Analizar archivos JSP.
  • El archivo JSP en el servlet.
  • servlet compilado.

JSP inicialización

Después de que el contenedor fue cargado el archivo JSP, se llama al método jspInit () para la solicitud antes de proporcionar cualquier servicio. Si necesita realizar tareas de inicialización método de replicación JSP personalizada jspInit () en la línea, así:

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

En general, el programa inicializa sólo una vez, servlet también. En circunstancias normales, puede inicializar la conexión de base de datos en el método jspInit (), abra el archivo y crear una tabla de consulta.


ejecución JSP

Esta etapa se describe el ciclo de vida de JSP de todas las interacciones asociadas con la solicitud hasta que se destruye.

Cuando la página JSP inicialización se ha completado, el motor JSP método _jspService () llama.

_jspService () método requiere un objeto HttpServletRequest y un objeto HttpServletResponse como su parámetro, como esto:

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

_jspService método () se llama una vez para cada solicitud y se encarga de generar la respuesta correspondiente, y es responsable de generar respuestas a los siete métodos HTTP, como GET, POST, DELETE, y así sucesivamente.


limpieza de JSP

Destrucción etapa del ciclo de vida JSP describe todo cuando una página JSP se retira de ocurrido el contenedor.

jspDestroy () en un servlet JSP equivalente a los métodos de destrucción. Cuando necesite realizar cualquier limpieza duplicar método jspDestroy (), tales como la liberación de la conexión de base de datos o cerrar la carpeta, y así sucesivamente.

método Formato jspDestroy () es la siguiente:

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

Ejemplos

JSP ciclo de vida de los ejemplos de código son los siguientes:

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

Navegador abre la página, la salida es: