Implantação de um exemplo de aplicativo no contêiner Apache Tomcat

Implantação de um exemplo de aplicativo no contêiner Apache Tomcat

Objetivo

Nosso objetivo é desenvolver um aplicativo Java Servlet simples usando o NetBeans IDE e implantá -lo em um contêiner de aplicativo Tomcat usando a linha de comando e o aplicativo do gerente.

Sistema operacional e versões de software

  • Sistema operacional: qualquer distribuição recente do Linux
  • Programas: Apache Tomcat 8, NetBeans 8.2

Requisitos

Acesso privilegiado ao sistema

Dificuldade

FÁCIL

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - dados os comandos do Linux a serem executados como um usuário não privilegiado regular

Introdução

Aplicativos baseados em Java em execução em contêineres de aplicativos são uma das configurações de aplicativos mais comuns agora-dias. Java é uma linguagem de programação robusta, independente de plataforma e de alto nível. Um contêiner de aplicativos, como Tomcat ou Wildfly (anteriormente JBoss), é capaz de fornecer um contexto padrão para os aplicativos implantados nele, facilitando as tarefas comuns como o registro de registro, também lidando com a função do servidor (ouvindo solicitações de entrada dos clientes), adicionando Recursos como cluster e ativação de compartilhamento ou caixa de areia de recursos dentro do contêiner. Esses recursos permitem que os desenvolvedores se concentrem no processamento das solicitações e no fornecimento das respostas, pois não precisam desenvolver mais um aplicativo de servidor para cada serviço.

Neste guia, desenvolveremos um servlet java trivial usando o NetBeans IDE 8.2, e implantá -lo em um contêiner Apache Tomcat 8.5, então os serviços do servlet estão acessíveis na rede. Usamos uma área de trabalho do Fedora 28 como a máquina de laboratório para executar o servidor Tomcat e usados ​​como um ambiente de desenvolvimento, mas observe que você pode escrever o servlet em um editor de texto e construí -lo em servidores de construção dedicados e também usar qualquer tomcat recente Para implantar seu aplicativo, possivelmente longe da máquina de desenvolvedor. Embora o NetBeans possa lidar com a implantação em todo o seu comprimento, abordaremos o caso quando as ferramentas de desenvolvimento não tiverem acesso direto aos servidores (o que deve ser o caso em produção).



Tomcat é tão comum que é enviado com os repositórios base de qualquer distribuição principal (e também disponível em um alcatrão.gz) e a natureza independente da plataforma do Java facilita a implantação de contêineres de aplicativos em quase qualquer lugar - portanto, sua popularidade. Se o desenvolvedor não usar pacotes dependentes da plataforma, seu aplicativo será executado da mesma maneira. Os problemas mais comuns vieram das versões Java (por exemplo, você não deseja implantar um aplicativo desenvolvido em Java 1.8 Em um servidor executando o Java 1.6), ou pacotes ausentes (um pacote Java personalizado usado no aplicativo, mas não incluído no pacote distribuído), mas estes devem ser lançados nas fases iniciais do desenvolvimento.

Configurar

Configurar o ambiente de laboratório é bem direto. Instalaremos e configuraremos o servidor Tomcat e integraremos o IDE com ele, ambos em execução na mesma JVM (Java Virtual Machine), e a implantação feita automática. Isso garante que não haverá problemas de versão Java e facilita o teste. O servidor Tomcat só ouvirá no local de localhost usando portas padrão e aplicativos de gerenciamento enviados com a distribuição.

Servidor tomcat

Primeiro, precisamos instalar o próprio servidor Tomcat. Adicionamos os aplicativos da Web do Admin que podem lidar com a implantação da interface da web.

yum instalar tomcat tomcat-webapps.Noarch Tomcat-Admin-Webapps.Noarch

Observe que adicionamos Tomcat-Webapps para a instalação. Eles não serão necessários neste tutorial, mas são bons aplicativos de exemplo com código -fonte para se acostumar ainda mais com servlets, jsp (javaserver páginas), etc.

Configurando usuários administrativos no tomcat

A instalação padrão deixa os aplicativos de administrador instalados fechados. Para abri -los, precisamos adicionar senhas aos usuários no tomcat. Poderíamos adicionar usuários e funções personalizados ou integrar o servidor com algum gerenciamento de identidade central, como um servidor LDAP, mas isso está além do escopo deste tutorial. Simplesmente usaremos as funções padrão enviadas com a instalação.

No Rhel sabores, o arquivo de configuração que precisamos ajustar está no seguinte caminho:

/usr/share/tomcat/conf/tomcat-users.xml

O arquivo XML não pode ser editado por um usuário com privilégios normais. Você precisa trabalhar com o Tomcat Usuário adicionado automaticamente pela instalação, ou raiz.

É um arquivo longo, mas precisamos modificar apenas o fim.

Você verá as seguintes linhas, todos comentados:



          

Essas linhas devem ser não declaradas e uma senha precisa ser adicionada ao admin Usuário para ativar a implantação na interface da web. O resultado deve ser algo como o seguinte:

          

Para o ambiente de laboratório, não precisamos de uma senha forte, mas, além dos testes, sempre usem senhas fortes. Depois de adicionar as mudanças acima, salve o arquivo.

Iniciando o servidor

Estamos prontos para iniciar o servidor Tomcat usando Systemd:

# SystemCtl Start TomCat

Para iniciar o tomcat após a inicialização, também podemos habilitá -lo, mas esta etapa é opcional.

# SystemCtl Ativar Tomcat

Testando as configurações

Agora que o servidor está em alta, testaremos nossas configurações. Direcionar um navegador da web para port 8080 da máquina e clique no "aplicativo do gerente" ao canto superior direito da página fornecida pelo tomcat. Uma janela pop -up deve aparecer, pedindo credenciais para o aplicativo Tomcat Manager. Forneça o nome de usuário admin e a senha que foi definida na seção anterior:

Faça login no aplicativo Tomcat Manager

Se nossa configuração estiver correta e fornecemos as credenciais certas, devemos ver uma página colorida e, além dela, a lista de aplicativos implantados, fornecidos pelo aplicativo do gerente, semelhante à captura de tela abaixo:



Lista de aplicativos implantados no tomcat

Note o /exemplos aplicativo implantado - isso é fornecido pelo Tomcat-Webapps pacote instalado anteriormente.

Com isso, a configuração do tomcat é concluída e podemos acessar a interface de gerenciamento.

Configurar NetBeans

Para ter um ambiente para o desenvolvimento, instalaremos o NetBeans IDE (ambiente de desenvolvimento integrado). Poderíamos usar qualquer outro, ou mesmo um simples editor de texto. O NetBeans IDE pode ser baixado da página inicial do NetBeans. Depois de baixar o instalador, precisamos adicionar executar o script de execução diretamente:

$ chmod +x netbeans-8.2-Linux.sh

E comece:

./netbeans-8.2-Linux.sh

Um assistente gráfico será exibido e orientará o processo de instalação. Após a instalação bem -sucedida, um ícone NetBeans aparece na área de trabalho. Clicar nele começará o IDE.

Desenvolvendo o aplicativo de amostra

Como este tutorial não é sobre desenvolvimento principal, usaremos os assistentes fornecidos pelo IDE para criar o aplicativo de amostra que planejamos implantar no tomcat.

Criando um projeto da web

Vamos criar um projeto da web dentro do NetBeans. Esse processo garantirá que nosso projeto esteja pronto para ser implantado em um contêiner do Tomcat com o mínimo de esforço. Para fazer isso, comece o IDE e selecione Arquivo -> Novo projeto No menu, depois escolha Java Web -> Aplicativo da Web:



Criando aplicativos da web em NetBeans

Precisamos nomear o projeto e selecionar caminho para ele no sistema de arquivos. Observe que na captura de tela abaixo, um caminho não padrão /var/projetos é selecionado. Este diretório é criado manualmente e dado ao usuário do sistema operacional que executa o IDE. O caminho padrão está dentro do diretório inicial do usuário executando o IDE; portanto, por padrão, os direitos do sistema de arquivos não serão um problema enquanto trabalha no projeto. Se você precisar colocar seus projetos em outro lugar, precisará garantir que você possa escrever para esse local específico.

Adicionando nome e caminho ao projeto em Netbeans

O nome do projeto pode ser de maneira justa, mas à medida que avançamos principalmente com os padrões, usamos webApp01 Isso fará parte do URL onde o aplicativo é alcançado.

Na próxima tela, precisamos especificar o servidor de destino, a versão Java e o caminho de contexto. Nós escolhemos Apache Tomcat ou Tomee, e deixe as outras opções nos padrões.

Configurações do servidor em NetBeans

Precisamos fornecer o caminho para o servidor Tomcat, a saber, o Catalina_home variável de ambiente, que é /usr/share/tomcat por padrão em sabores de Rhel.

Podemos ver que nosso novo projeto não está muito vazio, o IDE gerou um conteúdo padrão na criação do projeto. Adicionamos um novo pacote aos pacotes de origem que substituirão o pacote padrão:



Adicionando pacote ao projeto em NetBeans

Precisamos nomear o pacote. Observe que o novo pacote será criado no caminho do projeto:

Nomeando o novo pacote em Netbeans

Em seguida, adicionamos um novo servlet ao nosso projeto e o colocamos no novo pacote que criamos:

Adicionando um novo servlet ao projeto em Netbeans

Precisamos nomear o servlet. Seu código -fonte será colocado no pacote (que é um diretório nesta fase de desenvolvimento) no caminho do projeto.

Nomeando o novo servlet em netbeans

O nome que escolhemos para o servlet aqui é Informação do sistema, como fornecerá algumas informações sobre o ambiente de software em que está sendo executado. Este nome também fará parte do URL, a saber, o ponto final em que o serviço é acessível.

Código de escrita

Veremos que nosso novo servlet já está preenchido com código de amostra. Vamos manter a maior parte, substituiremos as linhas destacadas:



Substitua o código do modelo em NetBeans

Usando o editor de código -fonte do IDE, substituímos as linhas destacadas com o seguinte:

fora.println ("Informações do sistema"); fora.println (""); fora.println (""); fora.println ("

Servlet SystemInfo em " + solicitação.getContextPath () + "

"); fora.println (""")
  • de
  • es
  • fr
  • id
  • ms
  • pl
  • pt
© Ilinuxgeek
Site sobre os sistemas operacionais Linux e Windows