1. Introdução
1.1. Présentation
O PDF deste documento é |AQUI|.
Os exemplos deste documento estão disponíveis |AQUI|.
Propomos aqui apresentar, por meio de exemplos
- o framework Java Server Faces 2 (JSF2),
- a biblioteca de componentes PrimeFaces para JSF2, para aplicativos de desktop e dispositivos móveis.
Este documento destina-se principalmente a estudantes e desenvolvedores interessados na biblioteca de componentes PrimeFaces e [http://www.primefaces.org]. Esse framework oferece dezenas de componentes com suporte a AJAX ([http://www.primefaces.org/showcase/ui/home.jsf]), permitindo a construção de aplicativos web com aparência e comportamento semelhantes aos dos aplicativos de desktop. O PrimeFaces baseia-se no JSF2, daí a necessidade de apresentar primeiro esse framework. Além disso, o PrimeFaces oferece componentes específicos para dispositivos móveis. Também os apresentaremos.
Para ilustrar nosso argumento, construiremos um aplicativo de agendamento de consultas em diferentes ambientes:
- uma aplicação web clássica com as tecnologias JSF2 / EJB3 / JPA em um servidor Glassfish 3.1,
- o mesmo aplicativo com AJAX, utilizando a tecnologia PrimeFaces,
- e, por fim, uma versão móvel com a tecnologia PrimeFaces Mobile.
Sempre que uma versão for desenvolvida, a portaremos para um ambiente JSF2 / Spring / JPA em um servidor Tomcat 7. Assim, desenvolveremos seis aplicações Java EE.
Este documento apresenta apenas o necessário para compilar essas aplicações. Portanto, não se deve buscar nele exaustividade. Não a encontrará. Também não se trata de um manual de boas práticas. Desenvolvedores experientes poderão, assim, achar que teriam feito as coisas de maneira diferente. Espero simplesmente que este documento também não seja um manual de más práticas.
Para se aprofundar nos temas JSF2 e PrimeFaces, pode-se utilizar as seguintes referências :
- [ref1]: Tutorial de Java EE5, a referência da Sun para aprender Java [http://java.sun.com/javaee/5/docs/tutorial/doc/index.HTML]. Leia a seção II [Web Tier] para conhecer a tecnologia web e, em especial, JSF. Os exemplos do tutorial podem ser baixados. Eles vêm na forma de projetos do NetBeans que podem ser carregados e executados,
- [ref2]: Core JavaServer Faces, de David Geary e Cay S. Horstmann, terceira edição, editora McGraw-Hill,
- [ref3]: a documentação do PrimeFaces [http://primefaces.googlecode.com/files/primefaces_users_guide_3_2.pdf],
- [ref4]: a documentação do PrimeFaces Mobile: [http://primefaces.googlecode.com/files/primefaces_mobile_users_guide_0_9_2.pdf].
Às vezes, faremos referência ao [ref2] para indicar ao leitor que ele pode aprofundar-se em um determinado tema com este livro.
O documento foi escrito de forma a ser compreendido pelo maior número possível de pessoas. Os pré-requisitos necessários para sua compreensão são os seguintes:
- conhecimento da linguagem Java,
- conhecimentos básicos de desenvolvimento em Java EE.
No site [http://developpez.com], você encontrará todos os recursos necessários para esses pré-requisitos. Alguns deles podem ser encontrados no site [http://tahe.developpez.com]:
- [ref5]: Introdução à programação web em Java com servlets e páginas JSP (2002): apresenta os fundamentos da programação web em Java: servlets e páginas JSP,
- [ref6]: Noções básicas de desenvolvimento web MVC em Java com exemplos (2006): recomenda o desenvolvimento de aplicativos web com arquiteturas de três camadas, nas quais a camada web implementa o padrão de projeto (Design Pattern) MVC (Modelo, Visão, Controlador).
- [ref7]: Introdução ao Java EE com o IDE NetBeans e o servidor de aplicativos GlassFish (2012). Este documento permite conhecer o JSF 1 e os EJB3.
- [ref8]: Persistência no Java 5 na prática (2007). Este documento permite conhecer a persistência de dados com JPA (Java Persistence API).
- [ref9]: Criação de um serviço web Java EE com o IDE NetBeans 6.5 e o servidor Java EE GlassFish (2009). Este documento aborda a criação de um serviço web. O aplicativo de exemplo analisado neste documento é proveniente de [ref9].
1.2. Os exemplos de
Os exemplos deste documento estão disponíveis em URL e [AQUI] na forma de projetos Maven tanto para o NetBeans quanto para o Eclipse:
![]() |
Para importar um projeto no NetBeans:
![]() |
- no [1], abre-se um projeto,
- em [2], selecione o projeto a ser aberto no sistema de arquivos,
- em [3], ele é aberto.
Com o Eclipse,
![]() |
- em [1], importa-se um projeto,
- em [2], o projeto é um projeto Maven já existente,
![]() |
![]() |
- em [3]: ele é especificado no sistema de arquivos,
- em [4]: o Eclipse o reconhece como um projeto Maven,
- em [5], o projeto importado.
1.3. As ferramentas utilizadas
A seguir, utilizamos (maio de 2012):
- o NetBeans 7.1.2 (Ambiente de Desenvolvimento Integrado), disponível no URL [http://www.netbeans.org],
- o Eclipse Indigo IDE [http://www.eclipse.org/] em sua versão personalizada SpringSource Tool Suite (STS) [http://www.springsource.com/developer/sts],
- PrimeFaces em sua versão 3.2, disponível no URL [http://primefaces.org/],
- PrimeFaces Mobile, em sua versão 0.9.2, disponível para o URL e [http://primefaces.org/],
- WampServer para o SGBD, MySQL e [http://www.wampserver.com/].
1.3.1. Instalação do NetBeans IDE
Descrevemos aqui a instalação do NetBeans 7.1.2 disponível no URL e no [http://netbeans.org/downloads/].
![]() |
É possível utilizar a versão Java EE com os dois servidores Glassfish 3.1.2 e Apache Tomcat 7.0.22. O primeiro permite desenvolver aplicativos Java EE com EJB3 (Enterprise Java Bean), e o outro, aplicativos Java EE sem EJB. Substituiremos, então, os EJBs pelo framework Spring.
Depois de baixar o instalador do NetBeans, vamos executá-lo. Para isso, é necessário ter o JDK (Java Development Kit) e o [http://www.oracle.com/technetwork/java/javase/overview/index.HTML]. Além do NetBeans 7.1.2, instalaremos:
- o framework JUnit para testes unitários,
- o servidor GlassFish 3.1.2,
- o servidor Tomcat 7.0.22.
Após a conclusão da instalação, inicie o NetBeans:
![]() |
- em [1], o NetBeans 7.1.2 com três abas:
- a aba [Projects] exibe os projetos do NetBeans abertos;
- a aba [Files] exibe os diversos arquivos que compõem os projetos do NetBeans abertos;
- a aba [Services] reúne várias ferramentas utilizadas pelos projetos do NetBeans;
- em [2], ativa-se a aba [Services] e, em [3], o ramo [Servers],
- No [4], iniciamos o servidor Tomcat para verificar se a instalação foi realizada corretamente,
![]() |
- em [6], na aba [Apache Tomcat] [5], é possível verificar se o servidor foi iniciado corretamente,
- em [7], desligamos o servidor Tomcat,
Proceda da mesma forma para verificar se o servidor Glassfish 3.1.2 foi instalado corretamente:
![]() |
- em [8], inicia-se o servidor Glassfish,
- em [9], verifica-se se ele foi iniciado corretamente,
![]() |
- em [10], ele é desligado.
Agora temos um IDE operacional. Podemos começar a criar projetos. Dependendo deles, teremos que detalhar diferentes características do IDE.
Agora vamos instalar o Eclipse IDE e, nele, registrar os dois servidores Tomcat 7 e Glassfish 3.1.2 que acabamos de baixar. Para isso, precisamos saber os diretórios de instalação desses dois servidores. Essas informações podem ser encontradas nas propriedades desses dois servidores:
![]() |
- em [1], a pasta de instalação do Tomcat 7,
![]() |
- e [2], a pasta dos domínios do servidor Glassfish. No registro do Glassfish no Eclipse, será necessário fornecer apenas a seguinte informação: [D:\Programs\devjava\Glassfish\glassfish-3.1.2\glassfish].
1.3.2. Instalação do Eclipse
Embora o Eclipse não seja a versão IDE utilizada neste documento, apresentamos, mesmo assim, sua instalação. De fato, os exemplos do documento também são fornecidos na forma de projetos Maven para o Eclipse. O Eclipse não vem com o Maven pré-integrado. É necessário instalar um plug-in para isso. Em vez de instalar um Eclipse básico, vamos instalar o SpringSource Tool Suite [http://www.springsource.com/developer/sts], um Eclipse que já vem equipado com vários plug-ins relacionados ao framework Spring, além de uma configuração do Maven pré-instalada.
![]() |
- acesse o site do SpringSource Tool Suite (STS) [1], para baixar a versão atual do STS [2A] [2B],
![]() |
![]() |
- o arquivo baixado é um instalador que cria a estrutura de arquivos [3A] [3B]. No [4], executa-se o executável,
- em [5], a janela de trabalho do IDE após fechar a janela de boas-vindas. Em [6], exibe-se a janela dos servidores de aplicativos,
![]() |
- em [7], a janela dos servidores. Um servidor está registrado. Trata-se de um servidor VMware que não utilizaremos. Em [8], acionamos o assistente para adicionar um novo servidor,
![]() |
- em [9A], são apresentados diversos servidores. Optamos por instalar um servidor Tomcat 7 da Apache [9B],
![]() |
- em [10], indicamos a pasta de instalação do servidor Tomcat 7 instalado com o NetBeans. Caso não haja um servidor Tomcat, use o botão [11],
- em [12], o servidor Tomcat aparecerá na janela [Servers],
![]() |
- em [13], iniciamos o servidor,
- em [14], ele está em execução,
- na janela [15], ele é desligado.
Na janela [Console], obtemos os seguintes logs do Tomcat, se tudo correr bem:
![]() |
- ainda na janela [Servers], adiciona-se um novo servidor [16],
- em [17], o servidor Glassfish não é sugerido;
- nesse caso, utiliza-se o link [18],
![]() |
- em [19], opta-se por adicionar um adaptador para o servidor Glassfish,
- que é baixado e, de volta à janela [Servers], adiciona-se um novo servidor,
- desta vez na janela [21], os servidores Glassfish são sugeridos,
![]() |
- na janela [22], seleciona-se o servidor Glassfish 3.1.2 baixado com o NetBeans,
- em [23], indica-se a pasta de instalação do Glassfish 3.1.2 (preste atenção ao caminho indicado em [24]),
- se não houver um servidor Glassfish, use o botão [25],
![]() |
- em [26], o assistente solicita a senha do administrador do servidor Glassfish. Para uma primeira instalação, normalmente é adminadmin,
- quando o assistente for concluído, na janela [Servers], o servidor Glassfish aparecerá como [27],
![]() |
- em [28], ao iniciá-lo,
- em [29] pode ocorrer um problema. Isso depende das informações fornecidas durante a instalação. O Glassfish requer um JDK (Java Development Kit) e não um JRE (Java Runtime Environment),
- para acessar as propriedades do servidor Glassfish, clica-se duas vezes nele na janela [Servers],
- aparece a janela [20], na qual seguimos o link [Runtime Environment],
![]() |
- em [31], vamos substituir o JRE usado por padrão por um JDK. Para isso, usamos o link [32],
- em [33], os JRE instalados na máquina,
- no [34], adiciona-se outro,
![]() |
- em [35], escolhe-se [Standard VM] (Máquina Virtual),
- em [36], seleciona-se um JDK (>=1.6),
- em [37], o nome atribuído ao novo JRE,
![]() |
- ao ser solicitado a escolher entre o JRE para o Glassfish, optamos pelo novo JRE, declarado como [38];
- assim que o assistente de configuração for concluído, reiniciamos o [Glassfish] e o [39],
- no [40], ele é iniciado,
![]() |
- no [41], a estrutura do servidor,
- em [42], acessa-se os logs do Glassfish:
![]() |
- em [43], desligamos o servidor Glassfish.
1.3.3. Instalação do [WampServer]
O [WampServer] é um pacote de softwares para desenvolvimento no PHP / MySQL / Apache em uma máquina Windows. Vamos utilizá-lo exclusivamente para o SGBD e o MySQL.
![]() |
- no site do [WampServer] [1], escolha a versão adequada [2],
- o executável baixado é um instalador. Várias informações são solicitadas durante a instalação. Elas não dizem respeito ao MySQL. Portanto, podem ser ignoradas. A janela [3] é exibida ao final da instalação. Inicie o [WampServer],
![]() |
- no [4], o ícone do [WampServer] é instalado na barra de tarefas, na parte inferior direita da tela do [4];
- ao clicar nele, o menu [5] é exibido. Ele permite gerenciar o servidor Apache e o SGBD MySQL. Para gerenciá-lo, use a opção [PhpPmyAdmin];
- e, então, é exibida a janela abaixo,

Não entraremos em muitos detalhes sobre o uso do [PhpMyAdmin]. Mostraremos apenas como usá-lo para criar o banco de dados do aplicativo de exemplo deste tutorial.






























