Latest web development tutorials

JSP Lifecycle

A chave para a compreensão da função JSP subjacente é entender que eles cumpram com o ciclo de vida.

JSP é o ciclo de vida, desde a criação à destruição, semelhante ao ciclo de vida do servlet, exceto que o ciclo de vida JSP também inclui um arquivo JSP é compilado em um servlet.

O seguinte é o ciclo de vida JSP atravessadas várias etapas:

  • Compilar Fase:

    arquivos de origem de compilação servlet container de servlets classe servlet gerado

  • fase de inicialização:

    Carga e correspondente classe servlet JSP, criar uma instância e chamar o método de inicialização

  • A fase de implementação:

    Exemplos de serviço chama o servlet e JSP método correspondente

  • estágios de destruição:

    método de destruição de chamada e a instância servlet JSP correspondente, então destruído instância servlet

Obviamente, os quatro principais fases do ciclo de vida de ciclo de vida JSP e servlet é muito semelhante à ilustração abaixo:


compilação JSP

Quando um navegador solicita uma página JSP, motor JSP primeiro precisa verificar se a compilar o processo. Se este arquivo não é compilado, ou compilado foi alterado após a última vez, em seguida, compilar os arquivos JSP.

O processo de compilação envolve três etapas:

  • Análise de arquivos JSP.
  • O arquivo JSP para servlet.
  • servlet compilado.

JSP Inicialização

Após o recipiente foi carregado arquivo JSP, ele chama o método jspInit () para a solicitação antes de fornecer qualquer serviço. Se você precisa executar método tarefas de inicialização JSP replicação personalizado jspInit () na linha, como este:

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

Em geral, o programa apenas uma vez inicializado, servlet bem. Em circunstâncias normais, você pode inicializar a conexão banco de dados no método jspInit (), abra o arquivo e criar uma tabela de consulta.


execução JSP

Esta etapa descreve o ciclo de vida JSP de todas as interações associadas com o pedido até que seja destruído.

Quando a página de inicialização JSP está completa, motor JSP irá chamar o método _jspService ().

_jspService () método requer um objeto HttpServletRequest e um objeto HttpServletResponse como seu parâmetro, como este:

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

_jspService () método é chamado uma vez para cada solicitação e é responsável por gerar Da mesma resposta, e é responsável pela geração de respostas para todos os sete métodos HTTP, como GET, POST, DELETE, e assim por diante.


limpeza JSP

ciclo de vida JSP fase destruição descreve tudo quando uma página JSP é removida a partir do recipiente ocorreu.

jspDestroy () em um servlet JSP equivalente aos métodos de destruição. Quando você precisa para executar qualquer limpeza duplicar método jspDestroy (), tais como a liberação da conexão com o banco ou fechar a pasta, e assim por diante.

Formato jspDestroy método () é como se segue:

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

Exemplos

JSP ciclo de vida dos exemplos de código são os seguintes:

<%@ 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 a página, a saída é: