Buscar

Java-JSP-Servlet-MOD-I - ok Apostila

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

AN02FREV001/REV 3.0 
1 
PROGRAMA DE EDUCAÇÃO CONTINUADA A DISTÂNCIA 
Portal Educação 
 
 
 
 
 
 
CURSO DE 
JAVA NAS TECNOLOGIAS 
JSP/SERVLET JSP 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Aluno: 
 
EaD - Educação a Distância Portal Educação 
 
 AN02FREV001/REV 3.0 
2 
 
 
 
 
 
 
 
 
 
 
CURSO DE 
JAVA NAS TECNOLOGIAS 
JSP/SERVLET JSP 
 
 
 
 
 
 
MÓDULO I 
 
 
 
 
 
 
 
 
 
 
 
 
Atenção: O material deste módulo está disponível apenas como parâmetro de estudos para 
este Programa de Educação Continuada. É proibida qualquer forma de comercialização ou 
distribuição do mesmo sem a autorização expressa do Portal Educação. Os créditos do 
conteúdo aqui contido são dados aos seus respectivos autores descritos nas Referências 
Bibliográficas. 
 
 
 AN02FREV001/REV 3.0 
3 
 
SUMÁRIO 
 
 
MÓDULO I 
1 FUNDAMENTOS PARA PROGRAMAÇÃO NA WEB 
1.1 INTRODUÇÃO 
1.2 HISTÓRICO E EVOLUÇÃO DAS LINGUAGENS WEB 
1.3 SERVLETS? 
1.4 JSP? 
1.5 SERVLET X JSP 
1.6 SERVIDOR DE APLICAÇÃO WEB: TOMCAT 
1.7 ANTES, UMA PALAVRA SOBRE JEE 
2 INFRAESTRUTURA 
2.1 JAVA 
2.2 AMBIENTE DE DESENVOLVIMENTO: ECLIPSE 
2.3 TOMCAT: ESTRUTURA DE DIRETÓRIOS 
2.4 TOMCAT: INICIANDO 
2.5 TOMCAT: ENCERRANDO 
2.6 TOMCAT: LOGS 
2.7 INCLUINDO BIBLIOTECAS NECESSÁRIAS NO ECLIPSE 
 
 
MÓDULO II 
3 CONSTRUINDO A PRIMEIRA APLICAÇÃO 
3.1 MONTANDO A ESTRUTURA DE DIRETÓRIOS 
3.2 CRIANDO O PRIMEIRO SERVLET 
3.3 CRIANDO O ARQUIVO WEB.XML 
3.4 MONTANDO UM MAPEAMENTO NO WEB.XML 
3.5 GERANDO E DISPONIBILIZANDO COM O ANT 
3.6 O EMPACOTAMENTO WAR 
3.7 EXECUTANDO A APLICAÇÃO 
 
 AN02FREV001/REV 3.0 
4 
MÓDULO III 
4 SERVLETS 
4.1 HIERARQUIA DE ENTIDADES 
4.2 A CLASSE HTTPSERVLET 
4.3 UMA PALAVRA RÁPIDA SOBRE REQUISIÇÕES GET E POST 
4.4 DEFININDO UMA QUERY STRING 
4.5 FORMULÁRIOS HTML, UMA REVISÃO 
4.6 REQUISIÇÕES E RESPOSTAS 
4.7 RECUPERANDO INFORMAÇÕES PASSADAS COMO PARÂMETRO 
4.8 ESCREVENDO CONTEÚDO NA SAÍDA PADRÃO 
4.9 ARMAZENANDO OBJETOS NA REQUISIÇÃO 
4.10 CONFIGURANDO INFORMAÇÕES INICIAIS 
 
 
MÓDULO IV 
5 A TECNOLOGIA JSP 
5.1 CRIANDO UM ARQUIVO JSP 
5.2 TRADUÇÃO DE JSP PARA UM SERVLET 
5.3 TRABALHANDO COM SCRIPTLETS 
5.4 SÍMBOLO DE RETORNO DIRETO 
5.5 A DIRETIVA PAGE 
5.6 OBJETOS PADRÃO EM UM ARQUIVO JSP 
5.7 REDIRECIONANDO A RESPOSTA 
5.8 EXPRESSION LANGUAGE (EL) 
 
 
MÓDULO V 
6 USANDO TAGS ESPECIAIS DENTRO DO JSP 
6.1 JSTL 
6.2 INCLUINDO UMA REFERÊNCIA PARA OS DESCRITORES 
6.3 ESCREVENDO NA SAÍDA PADRÃO USANDO O <C:OUT> 
6.4 ESCREVENDO CONDIÇÕES COM O <C:IF> 
 
 AN02FREV001/REV 3.0 
5 
6.5 PERCORRENDO UMA COLEÇÃO USANDO O <C:FOREACH> 
6.6 COMO EXPLORAR MAIS ESSE UNIVERSO 
7 TAGS CUSTOMIZADAS 
7.1 CRIANDO O ARQUIVO DESCRITOR 
7.2 VINCULANDO O ARQUIVO DESCRITOR AO PROJETO 
7.3 USANDO A TAG DEFINIDA EM UM ARQUIVO JSP 
7.4 DEFININDO A CLASSE QUE REPRESENTA UMA TAG 
 
 
MÓDULO VI 
8 TRABALHANDO COM A SESSÃO DO USUÁRIO E FILTROS 
8.1 SESSÃO 
8.2 CRIANDO E USANDO UMA SESSÃO 
8.3 ALTERANDO A CONFIGURAÇÃO DE UMA SESSÃO 
8.4 FINALIZANDO UMA SESSÃO 
9 FILTROS 
9.1 CRIANDO O CÓDIGO DE UM FILTRO 
9.2 MAPEAMENTO DE UM FILTRO 
9.3 UMA PALAVRA A MAIS SOBRE O PADRÃO DE PROJETO FILTER 
 
 
MÓDULO VII 
10 REUNINDO TODOS OS CONCEITOS EM UMA APLICAÇÃO DE 
EXEMPLO 
10.1 APLICAÇÃO DE EXEMPLO PROGRAMADA EM CAMADAS 
10.1.1 Definindo os requisitos 
10.2 TELA INICIAL DE LOGIN 
10.3 CONFIGURANDO O WEB.XML 
10.4 O PADRÃO DE PROJETO MVC 
10.5 CONTROLANDO O FLUXO EM UMA SERVLET 
10.6 CAMADA DE NEGÓCIO E DESTINO DA REQUISIÇÃO 
10.7 RECUPERANDO O USUÁRIO DO BANCO DE DADOS 
 
 AN02FREV001/REV 3.0 
6 
10.8 IMPEDINDO O ACESSO COM FILTROS 
10.9 PERMITINDO AO USUÁRIO SAIR 
REFERÊNCIAS BIBLIOGRÁFICAS 
 
 
 
 AN02FREV001/REV 3.0 
7 
 
MÓDULO I 
 
 
1 FUNDAMENTOS PARA PROGRAMAÇÃO NA WEB 
 
 
1.1 INTRODUÇÃO 
 
 
 Com o surgimento e crescimento da Internet, esta passou de 
exclusividade da academia e defesa e passou a fazer parte do dia a dia do 
grande público, oferecendo entretenimento, serviços e comunicação a um 
baixo custo e velocidades cada vez maiores. Inicialmente os aplicativos 
disponíveis restringiam-se a sites de conteúdo fixo, estático, em que pouca ou 
nenhuma interação era possível ou se fosse, o custo e tempo de 
desenvolvimento eram muito grandes. 
 Tendo essa necessidade cada vez maior de construir sistemas e 
páginas que oferecessem conteúdo dinâmico e personalizado para o usuário, 
unindo a facilidades de desenvolvimento e curvas de aprendizado cada vez 
menores, é que todo um conjunto de linguagens de programação e paradigmas 
de desenvolvimento de software foi surgindo. Neste ponto, o HTML não era 
mais suficiente para atender a todas as necessidades, ficando com o papel de 
exibição de conteúdo e deixando a lógica de negócio para o servidor. 
 Desta forma, o servidor deixou de ser apenas uma entidade que recebe 
requisições e devolve alguma página (ainda que ele continue também com 
esse papel), mas passou a conter módulos que quando invocados realizavam 
algum processamento e devolviam um resultado, o que na maioria das vezes 
era HTML para ser exibido no navegador do usuário, mas poderia ser também 
um arquivo ou imagem para download, por exemplo. 
 Programar para a web significa ter esses princípios muito bem 
delimitados, saber onde uma determinada programação vai afetar e como unir 
 
 AN02FREV001/REV 3.0 
8 
as diversas tecnologias em torno de um objetivo. Sempre teremos um servidor 
em algum lugar que será o responsável por interceptar uma requisição, invocar 
algum código que faz um processamento, montar uma resposta e devolver o 
resultado a quem o invocou, tendo sempre em mente que essa exibição será 
feita na máquina do usuário, sofrendo todas as restrições tecnológicas ou 
impactos que esse aspecto possa ter. 
 
 
1.2 HISTÓRICO E EVOLUÇÃO DAS LINGUAGENS WEB 
 
 
 Inicialmente, a programação do lado servidor estava restrita à 
plataforma CGI (Common Gateway Interface), que possui acesso ao sistema 
servidor, podendo acessar diversos recursos e memória do ambiente. O 
aspecto negativo dela é que todo esse poder, caso seja mal usado, impacta 
diretamente no computador como um todo, pois se algum erro for inserido no 
código, ainda que involuntariamente, ele poderia derrubar o computador inteiro 
e não somente a aplicação, trazendo prejuízo para outras aplicações e nem 
sempre conseguindo se restabelecer sozinho. 
 Em geral, esse código era escrito na linguagem C, compilada e 
gerando executáveis específicos para a arquitetura em que seria executado. 
Passados alguns anos e observando-se a necessidade cada vez maior de se 
ter linguagens de programação que suportassem o desenvolvimento do lado do 
servidor, que fossem mais seguras para o desenvolvimento e cuja curva de 
aprendizado fosse menor, outras linguagens de programação foram surgindo, 
como é o caso do PHP e Perl, duas linguagens interpretadas, em que a 
compilação não é necessária e cuja curva de aprendizado é bem menos 
inclinada. 
 O problema destas linguagens estava mais no campo da 
escalabilidade, imaginando que os sistemas estavam cada vez maiores. Ainda 
que existam sistemas grandes usando essas duas tecnologias, poucos são de 
missão crítica ou que possuam muitos acessos concorrentes. Entrando em 
 
 AN02FREV001/REV 3.0 
9 
sequência neste mercado aparece a Microsoft com a sua linguagem ASP, com 
um comportamento próximo do encontrado nas linguagens Perl e PHP e a Sun 
com a plataforma Java e as primeiras versões do seu JSP/Servlet. 
 
 
1.3 SERVLETS?
A tecnologia Servlet é como se programa na web utilizando a 
tecnologia Java, a partir de alguns adendos e complementos que a linguagem 
principal oferece, com suporte a requisições e demais elementos necessários 
para se programar nesta perspectiva. Existem alguns padrões e regras a serem 
seguidas para se programar usando esta perspectiva, mas a tendência é que 
ao seguir esses padrões toda a programação se torne mais estruturada e fácil 
de dar manutenção que em outras tecnologias, como PHP ou ASP. 
 Diferente das páginas JSP, aqui o foco está nos objetos que irão fazer 
parte das regras de negócio do sistema do usuário, ainda que possa ser escrito 
também o HTML resultante diretamente nestes elementos. Em geral, sistemas 
web escritos em Java fazem uso desta e da tecnologia de JSP para se 
alcançar ao objetivo de escrever páginas de conteúdo dinâmico. 
 
 
1.4 JSP? 
 
 
 Ainda que em uma primeira vista JSP e Servlets sejam diferentes, elas 
são apenas distintas formas de escrever um código buscando alcançar um 
mesmo objetivo. O termo JSP é a sigla para Java Server Page, outra maneira 
de escrever código Java para se programar na perspectiva web, só que neste 
momento o elemento principal é o HTML e não os objetos da página, facilitando 
a escrita de interfaces gráficas inteligentes e adaptáveis ao universo do 
usuário. 
 
 AN02FREV001/REV 3.0 
10 
 Na tecnologia central de uma página JSP está a linguagem de 
marcação HTML (Hypertext Markup Language) que serve para formatar o 
conteúdo que está sendo exibido na tela, só que ela quando usada sozinha não 
oferece qualquer recurso de lógica ou regras de negócio, servindo apenas para 
formatação baseada em marcas (também chamadas de tags), daí a 
necessidade de inserir algum recurso, do lado do servidor, que ofereça esses 
recursos que faltam a ela. 
 Desta forma, ao juntar o HTML para formatação com a tecnologia Java, 
o recurso de montar uma tabela dinâmica ou escrever alguma informação de 
objetos do lado servidor fica facilitado. Como juntar as duas tecnologias, mas 
tendo o foco principal o HTML, é papel das páginas JSP, serão traduzidos e 
reduzidos a um Servlet, que trata as requisições feitas para um servidor de 
aplicação e em seguida tratadas para oferecer algum recurso de volta ao 
cliente, que normalmente é representado por um navegador (como o Microsoft 
Internet Explorer ou o Mozila Firefox). 
 
 
1.5 SERVLET X JSP 
 
 
 É praticamente impossível escrever qualquer sistema que faça uso de 
uma abordagem e não da outra, pois elas caminham juntas, cada qual com seu 
foco. Pode-se resumir o papel de cada uma da seguinte forma: 
 
Servlets JSP 
Foco principal: controle de fluxo Foco principal: apresentação 
HTML escrito em código Java Código Java escrito em HTML 
Sintaxe Java completa Sintaxe Java e mais elementos 
específicos 
 
 
 Ambas as tecnologias fazem uso principal da sintaxe Java encontrada 
em qualquer programa que possamos ter, com a diferença de que será 
 
 AN02FREV001/REV 3.0 
11 
necessário fazer uso de todo o conjunto específico de classes e interfaces que 
foram projetadas para oferecer suporte à programação web. No caso 
específico do JSP, existem ainda algumas variações de sintaxe que buscam 
facilitar a posterior manutenção de códigos escritos, tendo como foco a 
interface gráfica do usuário. 
 
 
1.6 SERVIDOR DE APLICAÇÃO WEB: TOMCAT 
 
 
Durante todo o treinamento precisaremos usar um servidor de 
aplicações web para testar nossos programas de exemplo. Para a tecnologia 
JSP/Servlets, o servidor mais utilizado hoje no mundo é o Apache Tomcat, que 
deriva do projeto do servidor web Apache, só que escrito para oferecer suporte 
à tecnologia da Sun, seguindo toda a especificação escrita. 
 Neste ponto, vale dizer que a Sun no momento da criação da 
tecnologia JSP/Servlets definiu um documento contendo a especificação dela, 
significando a maneira como a Sun entendia tecnologia e como ela deveria ser 
implementada pelas empresas que quisessem oferecer suporte a ela. Em 
seguida, ela passou a certificar os servidores que foram surgindo como 
seguidores ou não da sua especificação, garantindo uma visão padronizada da 
sua tecnologia. 
 Neste caso, o Tomcat é o chamado servidor de referência, por seguir 
toda a especificação e ser reconhecido pela Sun como tal. Ele pode ser obtido 
gratuitamente do site da Apache e por ser um software livre, seu código-fonte 
pode ser obtido e alterado livremente. Além disso, ele é usado em servidores 
de aplicação que oferecem suporte à tecnologia JEE (Java Enterprise Edition) 
como o JBoss, que o utilizam como servidor para o tratamento de requisições 
web. 
 Antes de prosseguir, portanto, vá até o site da Apache 
(http://tomcat.apache.org/) baixe o arquivo compactado na versão 5.x (no 
momento da confecção deste material, a versão de produção mais atual era a 
 
 AN02FREV001/REV 3.0 
12 
5.5.29), descompacte-o em um diretório em que você tenha acesso para 
posterior acesso e manipulação, pois ele será muito utilizado durante todo o 
treinamento para que possamos testar nossos programas. Dentre as várias 
opções de executáveis que ele oferece na página de download, deve ser 
baixada a versão que aponta para a opção Core, que significa todo o 
necessário para nossas execuções. 
 Obtenha o arquivo zipado (existem as opções em tar.gz e instalador 
para Windows), pois esta acaba sendo a mais simples de ser manipulada. O 
arquivo não tem mais que nove megabytes de tamanho. 
 
 
1.7 ANTES, UMA PALAVRA SOBRE JEE 
 
 
O termo JEE que surgiu no capítulo anterior merece uma explicação, 
pois ele representa um dos três caminhos ou divisões que hoje existem dentro 
das tecnologias Java. Ele se refere à Java Enterprise Edition ou de forma geral 
e bem aberta à programação usando servidores. Neste aspecto, a 
programação web é apenas uma das possibilidades, pois o termo JEE acaba 
sendo mais amplo, pois traz também os componentes de negócio, os EJB 
(Enterprise Java Beans). 
 Esses EJBs são componentes Java que possuem basicamente regras 
de negócio que servem para executar alguma tarefa específica sem estar 
ligada diretamente a uma interface gráfica, seja ela Web, Desktop ou móvel, 
podendo interagir com qualquer uma delas. O Tomcat, como servidor de 
aplicações web, não oferece suporte aos EJBs, mas apenas à tecnologia 
JSP/Servlets. 
 Para a execução desses objetos de negócio é necessário o uso de um 
servidor de aplicações, em um contexto mais amplo. Atualmente, o servidor 
JBoss é o mais utilizado no mundo para oferecer suporte aos EJBs e este traz 
dentro de si um servidor Tomcat para tomar conta da parte web. Disso, 
podemos concluir que a especificação JEE engloba a especificação web, 
 
 AN02FREV001/REV 3.0 
13 
gerando uma solução muito mais ampla para estas soluções completas. 
 Além do JBoss, outros servidores que possuem relevância e alcance 
do mercado são o Glassfish, que é da própria Sun e é utilizado como 
implementação de referência para servidores JEE, o Weblogic, que era da BEA 
até que esta foi comprada pela Oracle, fazendo parte da família de produtos 
Oracle (e como a Sun foi comprada pela Oracle, então esta acabou trazendo 
para si os dois servidores) e o Geronimo, que é do projeto Apache. 
 Dito tudo isso, neste momento o que nos importa é apenas a parte web 
da especificação de programação para servidores, portanto será necessário 
baixar e rodar apenas o Tomcat para nossos futuros testes. 
 
 
2 INFRAESTRUTURA 
 
 
2.1 JAVA 
 
 
 Ainda que o servidor de aplicações que iremos utilizar seja o Tomcat, 
para que este funcione
e possa executar nossos arquivos ou mesmo para 
compilar nossos arquivos (lembrando que todo o código, ainda que tenha 
bibliotecas especiais é Java) é preciso ter instalado na máquina de trabalhar 
uma versão do Java igual ou superior à versão 5.0, que já traz uma série de 
novos recursos e facilidades. 
 Ele pode ser obtido diretamente do site da Sun 
(http://java.sun.com/javase/downloads/widget/jdk6.jsp) e não possui custo. Vale 
lembrar que é necessário baixar o JDK (Java Development Kit), pois é com ele 
que conseguiremos compilar e não somente executar programas em Java. 
Será necessário fazer toda a configuração para que os demais programas 
possam ser executados corretamente. 
 Para testar se esta instalação ocorreu corretamente, abra uma janela 
command (isso pode ser feito digitando cmd em Iniciar > Executar) e digite o 
 
 AN02FREV001/REV 3.0 
14 
comando javac, conforme a figura abaixo: 
 
 
FIGURA 1 - INSTRUÇÕES PARA UM COMANDO JAVAC 
 
FONTE: Disponível em: <http://java.sun.com/javase/downloads/widget/jdk6.jsp>. 
Acesso em: 02/07/2010 
 
 Ainda que o comando executado não receba nenhum argumento, será 
mostrada uma série de instruções de ajuda para a execução correta posterior, 
mas isso indica que o programa foi corretamente instalado, pois se ocorreu 
algum problema na instalação, será mostrada a mensagem de comando não 
encontrado. 
 
 
2.2 AMBIENTE DE DESENVOLVIMENTO: ECLIPSE 
 
 
 Para se desenvolver sistemas comerciais, possuir alguma ferramenta 
que facilite o processo é fundamental. Para Java, existem diversas, mas uma 
que ganha cada vez mais destaque é a ferramenta chamada Eclipse, que traz 
 
 AN02FREV001/REV 3.0 
15 
enormes benefícios ao desenvolvimento. Atualmente ela está em sua versão 
3.5, chamada Galileo. Ela pode ser obtida gratuitamente do site do projeto 
(http://www.eclipse.org/downloads/) e para começar o seu uso, basta 
descompactá-la e dar um duplo clique no executável principal, que fica dentro 
da página principal criada. Ao iniciar a execução do mesmo, deve-se aparecer 
a seguinte tela: 
 
 
FIGURA 2 - TELA DE ABERTURA DA IDE ECLIPSE 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Sendo que o nome que aparece do termo Eclipse pode variar conforme 
a versão obtida. Em seguida, será pedido para o usuário informar onde deseja 
que seja definido o chamado workspace, que é o diretório onde os arquivos dos 
projetos deverão ser salvos. No momento, pode ser escolhida qualquer pasta 
do sistema de arquivos do usuário. 
 O Eclipse é um dos exemplos de IDE (Integrated Development 
Environment) que poderia ser traduzido para Ambiente de Desenvolvimento 
Integrado, por integrar todas as ferramentas necessárias para facilitar o 
desenvolvimento das aplicações. Talvez atualmente ela seja a mais famosa e 
 
 AN02FREV001/REV 3.0 
16 
utilizada no mundo para desenvolvimento Java, mas existem diversas outras 
muito boas que também podem ser utilizadas, como o Netbeans da própria Sun 
ou o JBuilder da CodeGear. No caso do Eclipse existe um conjunto de 
empresas que mantém o projeto, liderados pela IBM. O importante de tudo isso 
é escolher alguma ferramenta para este tipo de desenvolvimento para tornar 
todo o processo mais simples para a equipe. 
 
 
FIGURA 3 - ESCOLHA DO WORKSPACE PARA ESTA EXECUÇÃO 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Repare na figura acima que é possível navegar na estrutura de 
diretórios utilizando o botão Browse da interface gráfica. Uma vez escolhido o 
caminho e apertado o botão “OK”, chega-se à seguinte tela: 
 
 
 
 
 
 
 AN02FREV001/REV 3.0 
17 
FIGURA 4 - TELA INICIAL SEM PROJETOS DO ECLIPSE 
 
 FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
O ambiente principal reúne todas as facilidades para o 
desenvolvimento de projetos em Java. Essa interface gráfica pode variar de 
acordo com as extensões (chamadas plugins) que foram baixadas ou 
instaladas no ambiente. De forma geral, na esquerda ficam os projetos e a 
navegação pelos seus arquivos, no topo, os botões de ação, no centro, o 
código-fonte que está sendo editado e abaixo informações gerais e de 
execução de programas. 
 Codificação usando o Eclipse funciona orientada a projetos, então 
antes de escrever qualquer código é necessário criar algum projeto Java com 
toda a sua infraestrutura mínima. Isso pode ser feito por meio de assistentes 
que o conduzem durante todo o processo. Iremos criar um projeto que 
posteriormente será utilizado para os exemplos de JSP/Servlets. Vá em “File > 
New > Java Project”. 
 
 
 
 
 AN02FREV001/REV 3.0 
18 
FIGURA 5 - CRIANDO UM NOVO PROJETO 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Será aberto o seguinte assistente: 
 
 
FIGURA 6 - DEFININDO UM NOME PARA O PROJETO 
 
 FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 
 AN02FREV001/REV 3.0 
19 
 
Neste caso, o nome do projeto dado foi PortalEducacao, mas poderia 
ter sido qualquer termo que trouxesse significado para o projeto em questão. 
Todas as demais configurações são mantidas, inclusive o caminho de onde o 
projeto deve ser salvo e que corresponde ao workspace originalmente 
escolhido. Finalizado este preenchimento, clica-se no botão “Next”, para ir para 
a próxima página do assistente. 
 
 
FIGURA 7 - TELA DE CONFIGURAÇÃO DO PROJETO 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Na página seguinte existe uma série de outras configurações que no 
momento serão mantidas como estão. O próximo passo é apertar o botão 
“Finish” para a conclusão do assistente. 
 
 
 
 
 AN02FREV001/REV 3.0 
20 
 
FIGURA 8 - NOVO PROJETO CRIADO NA ABA DA ESQUERDA 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Na aba da esquerda aparece agora o projeto que acabamos de criar, 
com o nome e arquivos básicos necessários para a compilação e execução de 
qualquer projeto em Java. Vale destacar que todo o arquivo Java que for criado 
deve ser colocado dentro da pasta src. Para fins de teste, vamos criar um 
arquivo para verificar se tudo está funcionando corretamente. Clicando com o 
botão direito sobre a pasta src, escolha “New > Class”. 
 
 
 
 
 
 
 
 
 
 AN02FREV001/REV 3.0 
21 
 
FIGURA 9 - CRIANDO UMA NOVA CLASSE PELO ASSISTENTE 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Será aberto o seguinte assistente: 
 
FIGURA 10 - DADOS PARA A NOVA CLASSE 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
 Acesso em: 02/07/2010 
 
 AN02FREV001/REV 3.0 
22 
 
Foi dado um nome para a classe e em seguida apertado o botão “Finish”. 
 
 
FIGURA 11 - EXIBINDO OS DADOS DA NOVA CLASSE 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Uma vez criado o arquivo ele aparece na parte da esquerda, dentro do 
diretório src, no pacote padrão (já que nenhum foi informado) e com a listagem 
dos métodos que devem fazer parte dele. Ao abrir o arquivo criado, o seu 
conteúdo aparece no centro, no editor principal, já com as palavras reservadas 
destacadas, facilitando o desenvolvimento. Foi escrito o comando 
System.out.println(), que imprime algum texto no terminal e ao mandar executar 
o comando, o resultado é mostrado na parte inferior, na aba chamada Console. 
 Uma das grandes
facilidades do uso de um ambiente como esse é 
concentrar em um mesmo lugar todas as informações necessárias para o 
desenvolvimento. Outro recurso muito interessante que esses ambientes 
trazem é a compilação on-line, ou seja, caso algum erro de compilação seja 
identificado, ele já é mostrado durante a edição do arquivo. Veja a próxima 
 
 AN02FREV001/REV 3.0 
23 
imagem, que força um erro: 
 
 
FIGURA 12 - MOSTRANDO COMO OS ERROS SERÃO MOSTRADOS 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 No exemplo acima, o erro foi forçado ao remover o ponto e vírgula do 
final do comando. Imediatamente, o compilador acusou o erro e o ambiente de 
desenvolvimento marcou a linha como errada e indicou o erro que o compilador 
encontrou para ela. Com isso, eventuais correções não precisam esperar até 
que a compilação efetivamente seja disparada, ganhando em muito o tempo de 
desenvolvimento. 
 
 
2.3 TOMCAT: ESTRUTURA DE DIRETÓRIOS 
 
 
 Uma vez descompactado o conteúdo do arquivo baixado para o 
Tomcat, deve-se ter uma estrutura diretórios parecida com a seguinte: 
 
 AN02FREV001/REV 3.0 
24 
 
 
Diretório Significado 
bin Possui os executáveis necessários para disparar a execução 
e demais tarefas do servidor. 
common Armazena todos os componentes comuns às diversas 
aplicações que serão instaladas no sistema. 
conf Diretório com as configurações do servidor e das aplicações 
nele instalados. 
logs Guarda os arquivos de log. 
server Arquivos que servem para o sistema funcionar. 
shared Arquivos compartilhados por todo o servidor para ele 
funcionar. 
temp Arquivos temporários criados durante a execução. 
webapps Diretório em que as aplicações web devem ser instaladas 
para poderem ser executadas. É o diretório principal para o 
nosso treinamento e onde iremos gastar a maior parte do 
tempo. 
work Arquivos temporários criados durante a execução. 
 
 
Como já mencionado acima, o diretório de nosso maior interesse vai 
ser o chamado webapps, pois todas as aplicações web (web applications) 
ficarão localizadas ali dentro. Outro diretório de interesse para o treinamento 
vai ser o diretório bin, pois é lá que ficam os executáveis para iniciar o 
funcionamento do servidor. Posteriormente, caso seja necessário referenciar o 
diretório de instalação do Tomcat, ele será chamado de {TOMCAT_HOME}. 
 
 
 
 
 
 
 
 AN02FREV001/REV 3.0 
25 
 
2.4 TOMCAT: INICIANDO 
 
 
 Para começar o servidor de aplicações é necessário chamar o 
executável startup.bat no Microsoft Windows (num ambiente Linux existe o 
equivalente startup.sh, esse é o único ponto que varia de sistema operacional 
para sistema operacional, pois todo o resto é comum). Dar um duplo clique 
nele faz com que o servidor de aplicações seja iniciado. 
 
 
FIGURA 13 - INFORMAÇÕES DE INICIALIZAÇÃO DO TOMCAT 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Ao clicar duas vezes no arquivo statup.bat, inicia-se uma tela prompt 
onde é escrito tudo que está acontecendo com o servidor. A linha final mostra 
que o servidor subiu e gastou próximo de dois segundos para isso. Uma das 
 
 AN02FREV001/REV 3.0 
26 
características do Tomcat é a sua velocidade para inicialização. Para verificar 
se a inicialização ocorreu corretamente e o servidor está funcional, pode-se 
digitar o endereço padrão para invocar a página inicial http://localhost:8080, 
resultando na seguinte página: 
 
 
FIGURA 14 - PÁGINA INICIAL DO TOMCAT QUANDO INICIADO 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Esta é a página inicial do console, onde se pode obter outras 
informações do servidor e acessar os ambientes de auxílio ao 
desenvolvimento. Para tanto, usa-se como endereço para o navegador o 
endereço de acesso local, utilizando o protocolo HTTP, acessando a máquina 
local (o termo localhost é comum e utilizado mesmo em outras plataformas) e 
em uma porta específica, a 8080, que vem configurada por padrão e que 
eventualmente pode ser alterada para outro valor, caso seja desejado ou 
necessário, conforme a instalação em produção. 
 
 
 
 AN02FREV001/REV 3.0 
27 
 
2.5 TOMCAT: ENCERRANDO 
 
 
 Para finalizar a execução do Tomcat na plataforma Microsoft Windows, 
basta fechar a tela prompt aberta, que o processo será finalizado 
automaticamente (tentar abrir o endereço anterior faz com que um erro 404 de 
página não encontrada seja retornado). Já para um ambiente Linux, uma das 
maneiras mais diretas de encerrar o servidor é executar os seguintes 
comandos, nesta ordem: 
 
ps –ef | grep tomcat 
kill -9 <pid> 
 
 O comando ps –ef retorna todos os processos rodando na máquina 
naquele momento. Em seguida, o comando grep filtra os comandos retornados, 
mantendo apenas aquele que tenha no nome tomcat. Os dois comandos são 
unidos pelo símbolo | (pipe). A linha mostrada traz um número inteiro que 
identifica o processo que o sistema operacional subiu na máquina. Já o 
comando kill -9 finaliza qualquer processo, assim, passando o código desejado, 
o processo é encerrado. 
 
 
2.6 TOMCAT: LOGS 
 
 
 Em qualquer aplicação, seja durante o desenvolvimento, seja durante 
sua utilização em produção, é fundamental o acompanhamento de como os 
arquivos de log estão se comportando, pois diversos erros ou situações de 
exceção podem estar sendo gravados ali ou ainda, caso algum erro aconteça, 
as razões para o problema podem estar sendo gravadas e trazem indícios de 
como resolvê-los. 
 Por padrão, o Tomcat traz seus arquivos para esta finalidade no 
diretório logs. Para nossos propósitos, o arquivo mais importante que deve ser 
 
 AN02FREV001/REV 3.0 
28 
monitorado sempre e mais ainda quando algum comportamento não esperado 
acontece é o chamado catalina. Seu padrão de nome é catalina.AAAA-MM-
DD.log, sendo alterado sempre que passamos de um dia para outro. É nele 
que todos os erros e saídas padrão (incluindo o System.out.println()) são 
gravados. 
 
 
2.7 INCLUINDO BIBLIOTECAS NECESSÁRIAS NO ECLIPSE 
 
 
 Já foi mencionado anteriormente que para o desenvolvimento de 
aplicações web na perspectiva Java são necessárias algumas bibliotecas 
especiais, que trazem as classes e interfaces indispensáveis para este 
desenvolvimento. Para fazer isso, precisamos incluí-las no Eclipse, pois todo o 
desenvolvimento acontece lá e a ferramenta precisa estar preparada para 
reconhecer esses componentes especiais. 
 Como o Tomcat também vai precisar dessas bibliotecas para executar 
os programas, ele já traz, dentro das suas bibliotecas comuns que todas as 
aplicações usam, essas bibliotecas, empacotadas em forma de arquivos.jar, 
uma extensão criada pela plataforma Java para facilitar a disponibilização de 
componentes, mas que nada mais é que um arquivo compactado que segue 
algumas regras e padrões. 
 Para este material, faremos uso das bibliotecas servlet-api.jar e jsp-
api.jar, sendo que ambas ficam dentro do diretório common/lib da instalação 
padrão do Tomcat. Para fazer a vinculação com o Eclipse, é necessário alterar 
a configuração padrão do projeto criado, clicando com o botão direito sobre a 
pasta raiz do projeto e escolhendo a opção Properties (última opção do menu). 
 
 
 
 
 
 
 AN02FREV001/REV 3.0 
29 
 
FIGURA 15 - ALTERANDO AS PROPRIEDADES DE UM PROJETO 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Será aberta uma tela de propriedades gerais do projeto. Deve-se 
procurar em seguida o item “Java
Build Path” e depois a aba “Libraries”, como 
mostrado na próxima figura: 
 
FIGURA 16 - INCLUINDO NOVAS BIBLIOTECAS NO CLASSPATH DO 
PROJETO 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 AN02FREV001/REV 3.0 
30 
 
 Na aba aberta, ao apertar o botão “Add External Jars...” será 
disponibilizado um assistente em que será possível encontrar, dentro do 
sistema de arquivos, os jars mencionados acima. 
 
 
FIGURA 17 - ESCOLHENDO OS .JAR DO PRÓPRIO TOMCAT 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 
 Uma vez que o botão Abrir tenha sido selecionado, as bibliotecas 
aparecerão na lista de componentes disponíveis e prontos para serem 
utilizados pelo projeto como um todo. 
 
 
 
 
 
 
 AN02FREV001/REV 3.0 
31 
 
 
FIGURA 18 - INDICAÇÃO DE COMO AS BIBLIOTECAS APARECERÃO NO 
ECLIPSE 
 
FONTE: Disponível em: <http://www.eclipse.org/downloads>. 
Acesso em: 02/07/2010 
 
 Para finalizar o processo, basta apertar o botão “OK”. Feito isso, todas 
as classes que estão dentro das bibliotecas poderão ser utilizadas. Esse 
procedimento pode ser utilizado para qualquer futura outra biblioteca que se 
desejar incluir no projeto. 
 
 
 
 
 
 
 
 
 
 
 
 
-----------------------FIM DO MÓDULO I------------------------

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando