Ciclo de vida do servlet

Este tutorial fornece uma compreensão dos Servlets Java e seu ciclo de vida. Antes de começar o Ciclo de Vida do Servlet, primeiro obtenhamos algumas informações sobre o que exatamente é um Servlet e seu processo.

O que é um servlet?

Java Servlet é uma classe na linguagem de programação Java definida no Java Enterprise Edition, também conhecida como Java EE. Foi desenvolvido pela Sun Microsystems no ano de 1997. Após a primeira versão 1.0 do Servlet, lançada no ano de 1997, muitas novas versões foram lançadas, a última sendo o Servlet 4.0.

A tecnologia Servlet é muito útil na criação de aplicativos da Web, pois gera páginas dinâmicas da Web enquanto reside no lado do servidor. Os servlets Java substituíram o CGI ou Common Gateway Interface, que era uma linguagem de script comumente usada como linguagem de programação no servidor.

O Servlet é independente da plataforma, robusto e pode acessar todas as APIs Java, como a API JDBC (Java Database Connectivity), para acessar os bancos de dados de qualquer empresa.

O Java Servlet é usado para criar aplicativos da web que são dinâmicos por natureza. Para fazer isso, ele estende a capacidade do servidor. Ele pode ser executado em qualquer servidor da Web que tenha um contêiner de Servlet integrado.

O processo Java Servlet pode ser facilmente entendido a partir das etapas mencionadas abaixo:

  1. O cliente envia uma solicitação para um contêiner de servlet. O cliente aqui refere-se a qualquer navegador como Chrome, IE, Mozilla, etc. em uso.
  2. O contêiner ou o servidor da Web procura o servlet. Assim que o servidor encontra o servlet, ele inicia o servlet.
  3. Agora, o servlet processa a solicitação do cliente e, em seguida, uma resposta é enviada de volta ao servidor.
  4. Esta resposta é enviada ao cliente pelo servidor.

Antes de avançarmos para o ciclo de vida de um servlet, você deve deixar claro as terminologias usadas até agora neste artigo. Isso será útil para entender o ciclo de vida do servlet.

  1. Servidor Web : O Servidor Web ou o Servidor HTTP lida com Solicitações HTTP e Respostas HTTP. As solicitações enviadas pelos clientes são tratadas e uma resposta é enviada com base na solicitação feita por este servidor.
  2. Contêiner da Web : contêiner da Web ou contêiner de servlet ou mecanismo de servlet interage com os servlets. É um componente importante de um servidor da Web, pois gerencia o ciclo de vida de um servlet.

Ciclo de vida do servlet

Você pode entender o ciclo de vida de um Servlet como uma sequência de etapas pelas quais um servlet passa por seu período de vida útil, desde o início até a destruição. O Servlet Engine gerencia o ciclo de vida do servlet, conforme informado anteriormente.

O ciclo de vida de um servlet pode ser resumido nos cinco pontos abaixo mencionados:

  1. A classe Servlet é carregada.
  2. A instância do Servlet é criada
  3. O método init () é chamado para inicializar o servlet.
  4. O método service () é chamado repetidamente para cada solicitação de cliente colocada.
  5. O servlet é destruído usando o método destroy ().

Nota: Os objetos também são chamados de Instâncias.

1) Carregamento da classe de servlet

A classe de servlet é carregada com a ajuda do classloader. Assim que a solicitação de um servlet é recebida pelo contêiner da web, a classe de servlet é carregada.

2) Criando uma instância de classe de servlet

Uma instância do servlet é criada pelo contêiner da web assim que a classe do servlet é carregada. Lembre-se de que a criação de uma instância de servlet é uma vez no processo de uma vida para cada servlet, o que significa que ela será instanciada apenas uma vez no ciclo de vida do servlet.

3) Invocando o método Init ()

Depois que a instância do servlet é criada, a tarefa do contêiner da web é chamar o método init (). O método init () é chamado apenas uma vez e inicializa o servlet. Se um servlet for chamado por qualquer usuário, apenas uma instância desse servlet será criada. Cada solicitação resulta em uma geração de um novo encadeamento. Os dados criados ou carregados chamando o método init () permanecem por toda a vida do servlet.

Observe que o método init () será chamado apenas uma vez durante toda a vida útil do servlet.

A sintaxe fornecida abaixo invocará o método init -

public void init () lança ServletException

(

// código

)

4) Invocando o método Service ()

O método Service () é um método importante que será chamado sempre que uma solicitação for recebida para o servlet. O contêiner da web é o componente que chamará o método service () para executar algum trabalho real, ou seja, para receber solicitações enviadas pelo navegador do cliente e tratá-lo enviando uma resposta apropriada ao cliente. Como o servlet é inicializado, o método de serviço é chamado e todos os tipos de solicitação HTTP são analisados, como GET, POST, PUT, DELETE etc. Depois que os tipos de solicitação são conhecidos, o método service () envia a solicitação para seu manipulador método baseado nisso.

Considere o caso de uma solicitação POST feita pelo cliente. A tarefa do método service () é chamar o método doPost () e despachar a solicitação para ele. Todas as solicitações têm seu próprio método manipulador, para o qual uma chamada será feita pelo método service () com base no tipo de solicitação efetuada. Por exemplo, para obter uma exceção, existe o método manipulador doGet (), para Put, existe o método doPut () e assim por diante.

Observe que o método service () é chamado toda vez que uma solicitação do cliente acontece. Isso significa que, diferentemente do método init () e destroy (), o método service () pode ser chamado inúmeras vezes durante o ciclo de vida do servlet.

A sintaxe que você encontra abaixo chamará o método service () para Servlet:

serviço público vazio (requisição ServletRequest, resposta ServletResponse) lança IOException, ServletException

(

//código

)

5) Invocando um método Destroy ()

Na ocasião de desligar o servidor da Web, o servlet tem a chance de descarregar todos os servlets criados. O método destroy () removerá todos os servlets inicializados, limpando a memória.

A sintaxe para isso é:

destruir o vazio público ()

Artigos recomendados

Este foi um guia para o ciclo de vida do servlet. Aqui discutimos as etapas em sequência pelas quais um servlet passa por seu período de vida, começando de sua iniciação à destruição. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Perguntas da entrevista sobre servlet Java
  2. Perguntas da entrevista do servlet
  3. O que é cibersegurança?
  4. O que é o SQL Server?