JSF e PrimeFaces - Parte do Capitulo 4 (Desenvolvendo Aplicações Java WEB com JSF)

 

Uma das vantagens do JSF é a enorme gama de recursos extras que podem ser acrescentados as suas aplicações. O PrimeFaces traz um toque a mais não só no design, mas principalmente na funcionalidade/praticidade que acrescenta as aplicações Java WEB com seus componentes. Na Figura 4.1 a seguir, mostra que o PrimeFaces interage diretamente com a view da aplicação.

Figura 4.1 – PrimeFaces disponível num projeto JSF.

Nesse capítulo, além de dar um “tapa no visual” das aplicações (mesmo que de forma introdutória), também mostramos outra forma de manipular o escopo da sessão de uma aplicação JSF, evitando assim a chamada “poluição de sessão”. Também teremos uma nova forma de trabalhar para as classes DAO da aplicação. Outro recurso que será exaustivamente explorado nesse capítulo é o uso de anotações, até mesmo para fazer o mapeamento das entidades do banco de dados.

Trabalhando a base de dados

Como no capítulo anterior, deixaremos o Hibernate gerar as tabelas e os relacionamentos entre elas. Nos preocuparemos somente com a criação da base de dados e a geração do usuário e senha que terão permissão para trabalhar diretamente com ela. Depois disto feito, só precisamos manter a comunicação com o banco ativa, iniciando o serviço do mesmo.

Siga os passos demonstrados na Figura 4.2 a seguir, para realizar tal tarefa.

Figura 4.2 – Geração do banco de dados appjsf3 e arranque do serviço do SGBD.

Já estamos acostumados as nos dirigir para onde a base de dados será armazenada dentro do computador e só depois iniciar o serviço do SGBD.  Após seguir a sequência de comandos apresentada na Figura 4.2 acima, o repositório dos dados para o banco appjsf3, é gerado dentro da pasta data (c:\java\db\derby-10.14.2.0). Figura 4.3 a seguir.

Figura 4.3 – Pasta da base de dados appjsf3 gerado dentro do diretório data.

Com a base de dados appjsf2 criada e o serviço do SGBD ativo (porta 1527), podemos começar a criar nossa aplicação.

Criando a aplicação

Nesse capítulo faremos uso do Eclipse 2019-03, para editar a aplicação e simular todos os recursos que serão aplicados e sugeridos para uso nesse tipo de sistema.

Dê um clique duplo sobre o ícone do Eclipse IDE em sua área de trabalho e logo em seguida sua tela de apresentação será exibida como na Figura 4.4 a seguir.

Figura 4.4 – Tela de apresentação NetBeans IDE 10.

Com a área de trabalho da IDE aberta, clique sobre o menu File/New/ Dynamic Web Project e logo em seguida a janela New Dynamic Web Project será exibida, conforme figura 4.5 a seguir.

Na caixa Project name, você informará o nome do projeto a ser criado (appjsf3). Note que optamos por usar o repositório Default do eclipse para armazenar o projeto (c:\java\projects\eclipse), definindo no momento da instalação da IDE. Por padrão o novo projeto já é direcionado a utilizar o container Tomcat v9.0, associado a IDE também no momento da configuração da mesma.

Para um projeto WEB que vá trabalhar com o JSF, não necessariamente somos obrigados a informar que faremos isso ao cria-lo. Mas como a IDE tem esta facilidade, optamos por informar que será um projeto JSF. Observe na Figura 4.5, que selecionamos a configuração personalizada para o JSF v2.3. Desta forma a IDE irá gerar o novo arquivo faces-config.xml informando ao sistema que deverá se comportar de acordo com as exigências da biblioteca JSF com a versão 2.3.x.

Figura 4.5 – Janela New Dynamic Project.

Depois clique sobre o botão Next, para seguir adiante. Na Figura 4.6 a seguir, nos mostra a próxima opção para a geração do projeto. Nesse ponto definimos a pasta que será responsável por armazenar o código fonte do projeto. Não faremos alterações nesse ponto, basta clicar no botão Next.

Figura 4.6 – Janela New Dynamic Project, escolha do caminho para a pasta src.

 

Na janela seguinte New Dynamic Web Project, informamos a raiz de contexto do projeto e a pasta onde ficaram disponíveis as views  (xhtml). Aqui optamos por appjsf3, para a pasta web referenciamo-la como WebContent no eclipse. Confira na Figura 4.7 a seguir.

Figura 4.7 – Janela New Dynamic Project, escolha da raiz de contexto appjsf3.

Observe acima, que também optamos para que a IDE gerasse de forma automática o DD do projeto (WEB-INF/web.xml). Clique no botão Next para continuar.

Figura 4.8 – Janela New Dynamic Project, finalizando a configuração do projeto.

Acima na Figura 4.8, temos a parte final da configuração do projeto. Nesta janela, optamos por desabilitar o uso de qualquer configuração adicional por uma biblioteca predefinida junto ao Eclipse.

Para finalizar a configuração do projeto, a IDE Eclipse nos permite gerar as configurações automáticas para o arquivo web.xml. Em que informamos que o mapeamento das views serão feitas por intermédio de arquivos *.xhtml, conforme Figura 4.9 exibida anteriormente.

Como resultado final, na guia Project Explorer já podemos conferir a disposição inicial do Ambiente de Desenvolvimento (ADe). Figura 4.8 a seguir.

Figura 4.9 – Project Explorer – appjsf3.

O arquivo de configuração do JSF (faces-config.xml), que gerado de forma automática pelo Eclipse, deverá conter um conteúdo como o exibido na Figura 4.10 a seguir.

Figura 4.10 – Arquivo faces-config.xml.

Observe que esse arquivo já apresenta a configuração ideal para trabalhar com a versão 2.3 do JSF.

A seguir na Figura 4.11, temos a configuração inicial do web.xml do projeto. Observe que adicionamos uma nova linha indicando o uso de um arquivo index.xhtml como um dos possíveis welcome-file do sistema. Na parte final do arquivo já vem pré-configurado pela IDE o FacesServlet do projeto.

Figura 4.11 – Arquivo web.xml.

Seguiremos agora aplicando as configurações iniciais do sistema e carregando as bibliotecas necessárias para que o projeto funcione de forma correta.

Comentários