Agora que já vimos como
baixar e instalar o Apache Tomcat, vamos atualizar nossos conhecimentos
sobre aplicações web e os passos necessários
para instalar e executar estas aplicações neste
container.
Aplicações web consistem de componentes web (Servlets,
JSP, HTML, XML, etc), recursos estáticos (imagens, folhas
de estilo, arquivos .js, etc) e classes e bibliotecas Java.
Com raríssimas exceções, o desenvolvimento
de aplicações web usando tecnologias baseadas
em Java segue os seguintes passos: a) Desenvolver
o código dos componentes web
Esta fase envolve o desenvolvimento, depuração
e teste dos vários Servlets, Java Server Pages e demais
componentes que fazem parte do projeto. Em aplicações
mais robustas e/ou complexas, o uso de ferramentas de teste
é muito empregado. b) Escrever o descritor
de instalação da aplicação
Geralmente chamado de web.xml este arquivo
é usado pelo container ou servidor durante o processo
de instalação da aplicação. É
aqui que descrevemos os componentes usados, as variáveis
de ambiente e os requisitos de segurança. Na maioria
das aplicações web este arquivo está localizado
no diretório WEB-INF. c) Compilar os
componentes e classes auxiliares
Este passo envolve a compilação de todos os componentes
web pertencentes à aplicação e também
as classes referenciadas por este componentes. O uso da ferramenta
Ant pode ser muito útil neste processo. Caso ainda não
conheça o Apache Ant e gostaria de aprender mais sobre
suas tarefas básicas e avançadas, um bom recurso
é nosso tutorial Automação de Build usando
Apache Ant, disponível aqui mesmo neste site.
d) Empacotar a aplicação web
Aplicações web são distribuídas
e instaladas em um container ou servidor após serem empacotadas
em um arquivo com a extensão .war (Web Aplication Archive).
Embora seja possível efetuar a instalação
sem passar por este processo, na prática o empacotamento
é recomendado, pois facilita o processo de instalação.
Novamente o uso da ferramenta Ant é muito útil
para esta fase do desenvolvimento.
e) Instalar a aplicação
Se a aplicação estiver empacotada em um arquivo
.war, o processo de instalação
se resume a copiar o arquivo war para o diretório webapps
da instalação do Tomcat ou o diretório
autodeploy do domínio desejado no Servidor de Aplicações
da Sun. Em ambos os casos o container ou servidor fará
a instalação automática da aplicação.
d) Acessar a URL que permite acessar a aplicação
Este passo final consiste em abrir o navegador e apontar para
a URL da aplicação. Para um teste local você
pode ter algo como: http://localhost:8080/diretorio_da_aplicação
Em geral a estrutura de uma aplicação web é
a mostrada na figura seguinte:
O diretório raiz (onde estão os documentos index.html,
index2.jsp e o diretório imagens) pode conter quaisquer
arquivos e diretórios. É na raiz do site, acessível
ao usuário que você disponibilizará documentos
tais como arquivos HTML e JSP e imagens.
No diretório raiz existe dois diretórios importantes
para a aplicação, a saber: META-INF e WEB-INF.
O diretório META-INF tem a mesma função
que aquela dos arquivos Jar, ou seja, definir extensões
e outras informações relacionadas aos dados do
pacote. É comum a ausência deste diretório
em algumas aplicações web sem, contudo, prejudicar
seu funcionamento. O Diretório WEB-INF, além de
conter o descritor de instalação web.xml
contem os diretórios classes e lib. Servlets, JavaBens
e demais classes Java (todos compilados) deverão ser
colocados no diretório classes enquanto arquivos Jar
devem ser colocados no diretório lib.
A estrutura que você acabou de analisar é a mais
freqüentemente usada na maioria das aplicações
web. É claro que algumas variações são
aceitas, dependendo do container ou servidor. Na prática,
se você seguir esta estrutura suas aplicações
web poderão ser distribuídas e instaladas em praticamente
todos os containeres e servidores disponíveis atualmente.
E agora, o teste definitivo. Clique
aqui e baixe um arquivo zip contendo uma aplicação
web. Descompacte e copie o arquivo hello.war para o diretório
webapps do Tomcat. Se o container estiver funcionando, aguarde
alguns segundos e verá o conteúdo do arquivo war
ser descompactado automaticamente. Isso é um sinal de
que a instalação da aplicação foi
feita com sucesso. Agora, basta apontar seu navegador para o
endereço http://localhost:8080/hello e observar o resultado.
Se tudo estiver funcionando corretamente você verá
o resultado mostrado na figura seguinte:
Quando você executar esta aplicação verá
um formulário com uma caixa de texto e dois botões
(o formulário não é visível na figura
devido ao espaço restrito). Experimente digitar seu nome
na caixa de texto, clique no botão Submit e observe o
resultado. Este é um exemplo clássico do uso de
Java Server Pages na geração de páginas
dinâmicas. E, este exemplo merece mais atenção
devido ao fato de já fazer uso da JSTL (Java Standard
Template Library). Se você desenvolve em JSP vale a pena
reservar algum tempo para o estudo destas tags. |