Articles

eventos do ciclo de vida JSP explicados

JSPs são realmente servlets, como você já viu. O contêiner converterá todos os arquivos JSP em servlets antes de executá-los. JSPs apenas fornecer uma maneira fácil de criar componentes que contenham código não-java.

uma vez que uma página JSP é criada e implantada, o contêiner fará alguns eventos do ciclo de vida, o que também inclui chamar alguns de seus métodos semelhantes aos eventos do ciclo de vida do servlet.

  1. página JSP (tradução de validação, tradução, compilação fases)
  2. Classe de Carga
  3. Instanciar
  4. jspInit método é chamado de
  5. _jspService método é chamado de
  6. jspDestroy método é chamado de

página JSP (tradução de validação, tradução, compilação fases)

Validação é executada antes da tradução. A verificação de sintaxe acontece e todas as referências a bibliotecas de tags, ações e funções EL no JSP são validadas para garantir que elas existam e estejam acessíveis à página e, se houver algum problema, ocorre um erro e impede que o processo de tradução continue.

antes da validação, a página JSP é convertida para uma visualização XML e esta visualização xml é então validada e traduzida.

a página inicial de entrada JSP é traduzida para o código-fonte do servlet. Ao fazer isso, ele escreverá as instruções de impressão para cada uma de suas linhas não java no JSP. Este servlet gerado deve implementar HttpJspPage ou seu jsppage pai com base em se o ambiente é baseado em HTTP ou não. Blog relacionado: treinamento angular em Chennai

  • um fornecedor normalmente terá um servlet de base JSP especializado, estendendo e implementando todas as classes ou interfaces necessárias. No Tomcat, isso é chamado org.Apache.jasper.execucao.HttpJspBase. HttpJspBase extends HttpServlet e GenericServlet, e implementa HttpJspPage, JspPage, Serializable, Servlet, ServletConfig.

o código-fonte do Servlet é então compilado em um arquivo de classe servlet.

Saídas

  • existem duas saídas dentro da fase de tradução.
  • o primeiro é uma saída provisória: um arquivo de origem Java para um servlet.
  • o segundo é o arquivo de classe compilado da fonte do servlet.
  • o arquivo de classe é retido para uso futuro, e a maioria dos contêineres JSP pode reter ou oferecer uma opção pela qual você pode reter a fonte do servlet para fins de depuração.
  • no Tomcat, a fonte Java servlet gerada e a classe compilada durante a tradução JSP serão, por padrão, mantidas em qual diretório <Tomcat-Installation-Directory>/work/Catalina/localhost/<context – directory>/org/apache/jsp.

Timing

  • mesmo que um contêiner JSP tenha discrição sobre quando a tradução ocorre, por padrão (na maioria dos casos) o JSP é compilado em um servlet e depois carregado na primeira vez que é acessado.
  • isso pode causar um pequeno atraso para a primeira solicitação, mas não haverá nenhum atraso nas solicitações subsequentes.
  • em determinados servidores de aplicativos, você também pode pré-compilar JSPs antes de adicioná-los em JARs.

erros

  • se uma página não conseguir traduzir, uma solicitação HTTP para a página deve dar origem a um código de status 500 (Erro do servidor) comunicado de volta na resposta HTTP.

Classe de carga

  • a classe servlet gerada é carregada usando o carregador de classes do aplicativo.

instanciar

  • uma instância da classe servlet é criada.
  • para cada declaração de mapeamento de servlet do JSP na web.xml (semelhante a servlets), uma nova instância além da instância de arquivo JSP padrão é criada. Se eu tiver uma página JSP na raiz do contexto e também registrar a mesma página JSP na web.xml, terei duas instâncias desse JSP criadas.

o método jspInit é chamado

  • você pode substituir esse método.

_jspService método é chamado de

  • Quando as solicitações são feitas, o contêiner chama o servlet gerado de serviço(request, response) método, que deve chamar o método _jspService(), passando a solicitação e resposta parâmetros.
  • não devemos substituir _jspService () de nossa página JSP. Este método representa a origem da sua página no formato de código Java-cabe aos geradores de páginas do contêiner implementar esse método para cada JSP individual.
  • no entanto, a especificação JSP é flexível o suficiente para acomodar qualquer protocolo de solicitação /resposta que você deseja implementar substituindo este método; e para isso só você precisa substituir o método _jspService.

o método jspDestroy é chamado

  • chamado antes que a instância do servlet JSP seja anulada e o lixo coletado

pontos importantes a serem lembrados

Deixe uma resposta

O seu endereço de email não será publicado.