FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO WISLIY LOPES | JULIANO PIROZZELLI | TULIO TSURUDA | LUIZ GUILHERME MENDES TUTORIAL – SISTEMA DE CONTROLE DE ACESSO GOIÂNIA JUNHO DE 2014 Sumário 1. Objetivo ................................................................................................................................. 3 2. Download e Configuração do Servidor GlassFish 4.0 ............................................................ 3 3. 2.1 Download do servidor ................................................................................................... 3 2.2 Configurando o servidor................................................................................................ 5 Configurando o Ambiente de Desenvolvimento ................................................................... 9 3.1 Criado um Novo Projeto ................................................................................................ 9 3.2 Configurando os Frameworks ..................................................................................... 12 3.3 Criando a Conexão com o Banco de Dados................................................................. 14 3.3.2 Crie no projeto, uma nova pasta com o nome META-INF dentro do diretório Java Resources > src e dentro desta pasta, crie um arquivo .xml com o nome persistence.xml e adicione o código mostrado na figura abaixo. ....................................... 14 4. 5. Desenvolvendo o CRUD de Produtos e Usuários ................................................................ 16 4.1 Classes Produto e Usuario .......................................................................................... 16 4.2 Classes ProdutoBean e UsuarioBean......................................................................... 16 4.3 Criando as páginas web............................................................................................... 21 Referências .......................................................................................................................... 31 1. Objetivo Desenvolver um sistema de controle de acesso utilizando os frameworks utilizados na disciplina Programação com Frameworks considerando a seguinte regra de negócio. Qualquer usuário pode se auto cadastrar. Desta forma, o mesmo recebe permissão de usuário “padrão” com acesso apenas a consultas. Usuário “avançado” tem acesso ao gerenciamento de produtos (CRUD) Usuário “administrador” tem acesso total aos CRUDS de produtos e outros usuários. Para desenvolver o projeto os seguintes itens serão utilizados: IDE Eclipse Kepler; Servidor GlassFish 4.0; Sistema Gerenciador de Banco de Dados (SGBD) PostgreSQL; Framework de mapeamento objeto-relacional; Especificação JPA para persistência dos dados; Biblioteca de componentes Primefaces. 2. Download e Configuração do Servidor GlassFish 4.0 2.1 Download do servidor 2.1.1 Crie uma nova pasta chamada Servidores na unidade C:\ do computador. 2.1.2 Abra o Eclipse, na barra de ferramentas clique em Help > Eclipse Market. 2.1.3 No campo “Find”, pesquise por GlassFish, selecione GlassFish Tools fo Kepler e clique em Install. 2.1.4 Clique em Confirm > Marque a opção I accep the terms... > Finish e aguarde enquanto o eclipse reinicia. 2.2 Configurando o servidor 2.2.1 Após a reinicialização do Eclipse, clique na guia Server e no link No servers are available. Click this link to create a new server. Caso a guia Server não esteja visível vá ao menu Windows --> Show View --> Servers, configure as opções conforme mostrado na figura abaixo e clique em Add. 2.2.2 Baixe o arquivo do glassfish-4.0.zip no link https://glassfish.java.net/download.html para a pasta C:\Servidores que criamos anteriormente e descompacte o arquivo. 2.2.3 Clique em Browser, e selecione o diretório onde o glassfish foi descompactado. 2.2.4 Clique em Intalled JRE preferences > Add > Standard VM > e clique em Next. 2.2.5 Clique em Directory, navegue até o diretório onde se encontra a instalação mais recente do JDK e clique em Finish > Ok. 2.2.6 Em JRE name, selecione a versão do JDK que acabamos de configurar. 2.2.7 Na última etapa, já na edição do servidor após ele ter sido adicionado com sucesso ao nosso ambiente de desenvolvimento, iremos configurá-lo para que seja feita a publicação a cada alteração feita no projeto. 3. Configurando o Ambiente de Desenvolvimento 3.1 Criado um Novo Projeto 3.1.1 Na barra de ferramentas clique em File > New > Dynamic Web Project. 3.1.2 Dê um nome para o projeto e configure as opções conforme mostrado na figura abaixo e clique em Next. 3.1.3 Não é necessário nenhuma configuração nesta tela, portanto clique em Next. 3.1.4 Na janela a seguir, marque a opção Generate web.xml deployment descriptor e clique em Next. 3.1.5 Configure as opções conforme mostrado na figura abaixo e clique em Finish. 3.2 Configurando os Frameworks 3.2.1 Estes são os JARS necessários para o funcionamento do projeto. 3.2.2 Abaixo os links para download. Hibernate - http://hibernate.org/orm/ Primefaces - http://www.primefaces.org/downloads JDBC PostgreSQL - http://jdbc.postgresql.org/download.html 3.2.3 Após fazer o download de todos os JARS, copie e coleos dentro da pasta WebContent > WEB-INF > lib. 3.2.4 Selecione todos os JARS da pasta lib, clique com o botão direito > Build Path > Add to Build Path. 3.2.5 Abra o arquivo web.xml que se encontra no diretório WebContent > WEB-INF, e configure-o conforme mostrado na figura abaixo. 3.3 Criando a Conexão com o Banco de Dados 3.3.1 Crie um novo banco de dados com o nome BD_SCP. 3.3.2 Crie no projeto, uma nova pasta com o nome META-INF dentro do diretório Java Resources > src e dentro desta pasta, crie um arquivo .xml com o nome persistence.xml e adicione o código mostrado na figura abaixo. 3.3.3 Alguns detalhes importantes: 3.3.4 Linha “7” deve ser inserido o nome do banco de dados criado anteriormente. <persistence-unit name=”PU_BD_SCP”>; Linha “17”, insira a URL do banco de dados; Linha 18”, nome do usuário do banco de dados; Linha “19”, senha do banco de dados. Crie um pacote com o nome br.com.scp.util. Dentro do pacote, crie uma classe Java com o nome JPAUtil e insira o código abaixo. 4. Desenvolvendo o CRUD de Produtos e Usuários 4.1 Classes Produto e Usuario 4.1.1 Crie um pacote com o nome br.com.scp.entidade e dentro dele crie uma classe Java com o nome Produto, insira o código abaixo e gere os métodos getters/setters clicando com o botão direito > Source > Genetate Getters and SettersN. Depois clique novamente com o botão direito > Source > Generate toString(). 4.1.2 Dentro do mesmo pacote, crie outra classe Java com o nome Usuario e repita os passos descritos no item 4.1.1. 4.2 Classes ProdutoBean e UsuarioBean 4.2.1 Crie um novo pacote com o nome br.com.scp.web e uma classe Java com o nome ProdutoBean e insira o código descrito na figura abaixo. 4.2.2 Método para cadastro de produto. 4.2.3 Método para listagem de produtos. 4.2.4 Método para edição de produtos. 4.2.5 Método para exclusão de produtos. 4.2.6 Dentro do mesmo pacote, crie outra classe Java com o nome UsuarioBean e insira o código mostrado na figura abaixo. 4.2.7 Método para cadastro de usuários. 4.2.8 Método para listagem de usuários. 4.2.9 Método para login/validação de usuários. 4.2.10 Método para edição de usuários. 4.2.11 Método para exclusão de usuários. 4.2.12 Método para voltar a página de login. 4.3 Criando as páginas web Todas as páginas web serão criadas dentro do diretório WebContent. Vamos utilizar a biblioteca de componentes do Primefaces. Para começar a utiliza-lo basta adicionar o arquivo primefaces-5.0.jar ao Build Path da aplicação e adicionar o seguinte name space às páginas 4.3.1 Página index.xhtml - Código 4.3.1.1 Página index.xhtml - Tela 4.3.2 Página de usuário padrão.xhtml – Código. 4.3.2.1 Página de usuário padrão.xhtml – Listagem de produtos - Tela 4.3.3 Página de alterarProduto.xhtml – Código. 4.3.3.1 Página de alterarProduto.xhtml – Tela 4.3.4 Página cadastroProduto.xhtml – Código. 4.3.4.1 Página cadastroProduto.xhtml – Tela. 4.3.5 Página de usuário admin.xhtml – Código. 4.3.5.1 Página de usuário admin.xhtml – Tela. 4.3.6 Página cadastroUsuario.xhtml – Código. 4.3.6.1 Página cadastroUsuario.xhtml – Tela. 4.3.7 Página alterarUsuario.xhtml – Código. 4.3.7.1 Página alterarUsuario.xhtml – Tela. 4.3.8 Página erroLogin.xhtml – Código. 4.3.8.1 Página erroLogin.xhtml – Tela . 5. Referências http://www.primefaces.org/primeui/ http://jamacedo.com/2010/06/crud-jsf-2-0-hibernate-exemplo-gerenciando-livros-2/ http://wehavescience.com/2012/11/03/crud-com-hibernate-4-e-jpa/