Ciclo de Vida do Servlet em Java: Métodos, Arquitetura, Comparação e Configuração

Publicados: 2021-03-03

Índice

Introdução

Os servlets produzem um método que não é apenas baseado em componentes e independente de plataforma, mas também oferece muito suporte para a construção de aplicativos baseados na web. Os servlets têm acesso às APIs java e à API JDBC para acessar bancos de dados. No caso de Java Servlets, embora não haja restrições quanto ao desempenho do programa CGI (Common Gateway Interface), ainda existem algumas desvantagens.

O que é Servlet?

Servlet é uma tecnologia muito benéfica para a criação de páginas web dinâmicas. Ele atua como uma camada intermediária entre o navegador da Web e os clientes ou servidores HTTP. Com a ajuda de servlets, em um primeiro momento, coletamos as entradas dos usuários e, em seguida, criamos páginas da web dinamicamente. O servlet estende os recursos de servidores e aplicativos host. Os servlets estendem as capacidades dos servidores e também respondem a qualquer tipo de solicitação dos usuários.

Fonte

CGI vs Servlets

Antes dos servlets, o CGI era amplamente utilizado. CGI é uma maneira de passar a solicitação recebida do usuário para um programa aplicativo. Embora o CGI seja um caminho para um servidor web, ele também obtém a resposta do navegador (cliente). Quando o usuário solicita uma página da Web ao navegador, o servidor a envia de volta para ele.

Quando um cliente deseja preencher um formulário em uma página da web e tentar enviá-lo novamente, ele é processado pelo programa aplicativo. O servidor passa as informações para um pequeno programa aplicativo da web. Este programa primeiro processa os dados e depois os envia de volta por meio de uma mensagem de confirmação.

Métodos do Ciclo de Vida do Servlet em Breve

Existem basicamente três métodos de ciclo de vida de um servlet, que podemos descrever como:

  1. iniciar()
  2. serviço()
  3. destruir()

Fonte

Arquitetura de Servlet

  • Primeiramente, ele lê os dados enviados pelos clientes. Em seguida, ele insere um formulário HTML em uma página da Web e envia as solicitações enviadas pelos clientes.
  • Depois disso, o servlet processa os dados e se conecta a um sistema de gerenciamento de banco de dados, executando o RMI invocando serviços web.
  • Após o processamento, os documentos podem ser enviados nos formatos texto e gif.
  • Finalmente, ele envia o HTTP para o cliente.

Fonte

Agora vamos discutir esses métodos em detalhes

1. inicialização()

O método init() é chamado apenas uma vez após a criação da instância do servlet. Inicialmente, ele inicializa o servlet. Servlet.init() indica que a instância do servlet foi criada com sucesso.

A sintaxe do método init() é dada como:

public void init(Config ServletConfig) lança ServletException {

// código de inicialização

}

2. serviço()

Sempre que o servlet recebe a solicitação, o contêiner da Web chama o método service().

  • Para coletar os dados solicitados b
  • y o cliente, o objeto de solicitação de serviço é usado.
  • Para gerar o conteúdo de saída, o objeto ServletResponse é usado.

Assinatura do método service() é dada como:

serviço void público (solicitação ServletRequest, resposta ServletREsponse)

lança ServletEXception , IOException {

// código de tratamento do pedido

}

O método service() usa doGet, doPost, doPut, doDelete e muitos outros métodos.

3. destruir()

O usuário chama o método destroy() pelo menos uma vez no ciclo de vida de um servlet . Ele é usado para encerrar a conexão com o banco de dados, para liberar a memória e os recursos alocados. Também ajuda nos propósitos de limpeza, e a coleta de lixo está associada a isso.

A assinatura do método destroy() é

public void destruir(){

// Código de finalização

}

Leia também: Servlet vs JSP

Configuração do ambiente de um Servlet

Para criar um aplicativo Servlet, primeiro precisamos seguir alguns passos como instalar o Tomcat Server, que é descrito abaixo-

1. Criando uma estrutura de diretórios

Fonte

Primeiro, precisamos criar a estrutura de diretórios acima dentro de um diretório chamado diretório Apache – Tomcat\webapps. Precisamos manter todos os arquivos HTML, estáticos, imagens sob a aplicação web criando uma pasta. Os servlets devem ser mantidos na pasta class. Por fim, o arquivo web.xml deve estar na pasta WEB-INF.

2. Criando um Servlet

Existem três maneiras diferentes pelas quais podemos criar um servlet.

  1. Implementando a interface Servlet.
  2. Estendendo a classe GenericServlet.
  3. É necessário estender a classe de servlet HTTP.

Um servlet pode ser formado principalmente se pudermos estender a classe abstrata httpServlet.

3. Compilando o Servlet

Para compilar o servlet, é necessário um arquivo JAR –

  1. Configurando o caminho de classe.
  2. Ao colar o jar na pasta JRE/lib/ext.

4. Criar descritor de implantação

DD pode ser definido como um arquivo XML que é usado por servidores baseados na web para que

eles podem executar servlets com facilidade. DD é usado para vários propósitos importantes.

  1. Mapeando a URL para a classe Servlet.
  2. Inicializando os parâmetros.
  3. Ao definir a página de erro.
  4. Por funções de segurança.
  5. Ao declarar bibliotecas de tags.

5. Inicie o servidor

Para iniciar o servidor Apache Tomcat, precisamos clicar duas vezes no arquivo startup.bat no diretório apache-tomcat/bin, e ele começará a funcionar.

6. Iniciando o servidor Tomcat pela primeira vez

Para iniciar o Tomcat Server pela primeira vez, precisamos definir JAVA_HOME na variável Environment. As etapas a seguir são mencionadas abaixo. Clique com o botão direito em Meu Computador , e precisamos ir para Propriedades .

Fonte

  1. Em seguida, iremos para a guia Advanced e precisamos clicar no botão Environment Variables .

Fonte

  1. Portanto, clicaremos no botão Novo e inseriremos JAVA_HOME dentro do campo de texto Nome da variável e o caminho do JDK dentro do campo de texto Valor da variável. Então, precisamos salvá-lo clicando em OK.

Fonte

7. Executando o Aplicativo Servlet

Quando executamos o botão do servlet, ele se parecerá com –

Depois de abrir o navegador, precisamos digitar http:localhost:8080/First/hello

Checkout: Salário de Desenvolvedor Java na Índia

Interface de solicitação de servlet

ServletRequest visa fornecer ao cliente informações autênticas sobre um servlet que

inclui tipo de conteúdo, comprimento, valores de parâmetro e muito mais.

Métodos

1. getAttribute(String)

Retorna o valor dos atributos conforme solicitado, se os atributos não existirem

em seguida, retorna NULL.

2. getAttributeNames()

Ele retorna os nomes dos atributos presentes que são solicitados pelos clientes.

3. getCharacterEncoding()

Retorna algum conjunto de caracteres.

4. getContentLength()

Retorna o tamanho da entidade de dados solicitada .

5. getContentType()

Inicialmente, ele solicita a identidade do objeto. Se não for encontrado, ele retornará um valor NULL.

6. getInputStream()

Retorna um fluxo binário de dados recebido pelo cliente e, em seguida, retorna as strings.

7. getParameter(String)

Retorna uma string dos parâmetros.

8. getParameterNames()

Ele retorna os nomes dos parâmetros.

9. getParameterValues(String)

Ele retorna os valores dos parâmetros. Eles sempre existem na forma de uma string.

10. getProtocolo()

Ele retorna o protocolo e a versão no formato <protocol>/<major version>.<minor version>.

11. getReader()

Ele retorna um leitor em buffer para ler o texto no corpo da solicitação.

12. getRealPath(String)

evita o caminho virtual e retorna o caminho real.

13. getRemoteAddr()

Ele retorna o endereço IP.

14. getRemoteHost()

Ele retorna o nome de host completamente estruturado do agente.

15. getEsquema()

Ele retorna a URL usada na solicitação.

16. getServerName()

Ele retorna o nome do host do servidor.

17. getServerPort()

Ele retorna o número da porta.

18. setAttribute(String, Object)

Este método acumula um atributo para qualquer tipo de solicitação.

Resposta do servlet

ServletResponse invoca um objeto e a resposta de vários usuários é registrada. O contêiner da web é responsável por todas essas atividades. O passo para criar isso é muito importante. O passo é criar um objeto.

Agora vamos falar sobre ServletConfig e ServletContext abaixo em detalhes.

ServletConfig

1. O contêiner da Web cria o objeto de configuração com base nos parâmetros de inicialização.

2. Um ServletConfig por Servlet deve estar presente.

Métodos

1. Igual (objeto)

verifica se o objeto atual tem valor igual ao objeto fornecido.

2. GetHashCode()

Funciona como a função de hash padrão.

3. GetType()

Retorna o Type da instância atual.

4. MemberwiseClone()

Se invocarmos este objeto, uma cópia superficial pode ser criada. Refere-se ao objeto presente por padrão .

5. ParaString()

Retorna uma string, que representa o objeto atual.

ServletContext

Vamos discutir ServletContext abaixo:

  1. É muito necessário tornar o objeto de referência acessível a todo e qualquer Servlet da aplicação web.
  2. O objeto de referência é, na verdade, a implementação em tempo de execução deles.

Os dois tipos de servlets podem ser definidos como:

1. Servlets Genéricos

Referimo-nos aos servlets genéricos como independentes de protocolos e, também, é necessário invocá-los por substituição. Podemos invocar servlets genéricos de três maneiras –

  • Arquivo HTML

Podemos criar um arquivo HTML muito descomplicado que pode se parecer com WebContent/index.html.

  • Arquivo de classe Java

Um servlet genérico pode ser criado estendendo a classe GenericServlet. Se pudermos criar um novo arquivo de classe simples, podemos renomeá-lo como genérico. O caminho do arquivo se parece com:/javaResouces/src/default package/generic.java.

  • Arquivo XML

Podemos encontrar este arquivo no caminho WebContent/WEB-INF/web.xml. Podemos mapear o servlet com uma URL específica.

2. Servlet HTTP

Este tipo de servlets nada mais é do que uma extensão das classes Servlet. Embora seja dependente de HTTP, ele define algumas regras que ajudam o navegador da Web e os servidores a se comunicarem, e o servlet HTTP também pode substituir os métodos doGet() ou doPost(). Além disso, ele pode substituir os dois métodos.

Vantagens dos Servlets

Agora vamos ver algumas vantagens dos servlets –

  1. O desempenho é excelente.
  2. Os servlets podem ser executados dentro do espaço de endereço de um servidor. Como resultado, podemos dizer que não é necessário criar um espaço de endereçamento separado para lidar com a solicitação do cliente.
  3. Eles são independentes de plataforma e principalmente baseados em componentes.
  4. Os servlets são protegidos, pois o gerenciador de segurança define algumas restrições para proteger os recursos e os dados.
  5. Enquanto trabalham, os usuários não precisam se preocupar em liberar memória como uma técnica de alocação de lixo.
  6. Os servlets fornecem funcionalidade completa, pois todas as bibliotecas estão disponíveis. Ele pode se comunicar facilmente com applets e outros mecanismos.

Fonte

Desvantagens dos Servlets

As limitações dos servlets são discutidas como –

  1. Apenas um servlet pode ser carregado na JVM por vez. Então, podemos dizer que importa o número de solicitações.
  2. Quando há uma solicitação, pode haver apenas um encadeamento. Nenhum processo deve estar presente lá.
  3. Projetar um servlet é caro e, às vezes, bastante problemático.
  4. Precisamos de outras configurações no navegador como JRE (Java Runtime Environment) no servidor para executar servlets.

Leia também: Ideias e tópicos do projeto Java

Aprenda cursos de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Conclusão

Nesta era moderna do mundo digital, a tecnologia e a internet tornaram-se a força motriz de todos. A internet está inquieta. A cada segundo, ele está ocupado para transferir grandes quantidades de dados.

Mas devido à transferência em massa de dados, a internet fica mais lenta, pois também precisamos de velocidade. Assim, os sites dinâmicos são criados por desenvolvedores de software. Esses sites são alterados e atualizados a cada momento. Para saber mais sobre os Servlets em Java e desenvolvimento, confira o Programa PG Executivo do upGrad em Desenvolvimento de Software Full-stack e dê o pontapé inicial em sua jornada.

O principal motivo deste artigo é fornecer aos leitores um conceito básico de servlets para que possam obter uma ideia fundamental sobre servlets.

Aterre no seu emprego dos sonhos

Inscreva-se agora para o Programa PG Executivo em Desenvolvimento Full Stack