Olá Pessoal,
Chegamos na última parte numa série de três partes, que envolveu o desenvolvimento de um CRUD de Usuário. Nas partes anteriores, configuramos o TomCat no Eclipse, criamos o projeto do tipo web, e desenvolvemos e testamos nossa camada de persistência.
Por fim, iremos criar a camada de apresentação, que será desenvolvida pelo Framework JSF.
Ao final do post, o projeto será disponibilizado para download, para quem quiser baixar e testar.
1. Passo: Abre o arquivo faces-config.xml, e selecione a aba ManagedBean -> session -> add.
2. Passo: Na tela seguinte, deixar, conforme a imagem abaixo.
3. Passo: Na próxima tela, informar o nome do ManagedBean e do Pacote, conforme a imagem abaixo.
4. Passo: Na tela seguinte, informe o nome e o escopo do ManagedBean, conforme a imagem abaixo, e depois clica em finish.
5. Passo: O arquivo faces-config.xml, deverá estar, conforme a imagem abaixo.
6. Passo: O arquivo web.xml, deverá estar, conforme a imagem abaixo.
7. Passo: Agora, iremos implementar a Classe UsuarioMB, conforme a imagem abaixo, restante do código, será mostrado nas imagens seguinte.
8. Passo: Continuado, acrescentar o seguinte código na Classe UsuarioMB, conforme a imagem abaixo.
9. Passo: Por fim, acrescentar o seguinte código na Classe UsuarioMB, conforme a imagem abaixo.
10. Passo: Agora criaremos o único arquivo jsp.
11. Passo: Na tela seguinte, informe o nome da página jsp.
12. Passo: Na tela seguinte, informe o template do tipo JSF, conforme a abaixo, e clica em finish.
13. Passo: Na página usuario.jsp, deixar conforme a imagem abaixo, o restante do código será mostrado nas imagens seguintes.
14. Passo: Na página usuario.jsp, acrescenta o código seguinte, conforme a imagem.
15. Passo: Por fim, na página usuario.jsp, acrescenta o código seguinte, conforme a imagem.
16. Passo: Assim, terminamos nossa aplicação, agora iremos testar.
17. Passo: Na tela seguinte, escolha o server TomCat e clica em Finish.
18. Passo: Agora, na barra de endereço informe a URL da nossa aplicação e clica para ir, se tudo ocorrer certo, será aberto a seguinte.
19. Passo: Agora, só testar aplicação, irei cadastrar um novo usuário, conforme a imagem abaixo.
20. Passo: Após ter cadastrados alguns usuários, já podemos ve-lôs, na table.
21. Passo: Podemos excluir um usuário.
Sendo assim, terminamos nossa aplicação, que envolveu, o uso das melhores tecnologias do mercado. Através do Hibernate, conseguimos trabalhar com objetos e sem a necessidade de ficar digitando SQL, e também o JSF que é um Framework MVC que vem crescendo no mercado, por oferecer uma produtividade incrível.
Quem quiser baixar o projeto completo, clica aqui.
Qualquer sugestão, dúvida ou crítica, ficarei a disposição.
8 comentários:
boa noite Jabes,
eu preciso nesse mesmo crud fetuar uma compra através da associação de um cliente a um ou mais Itens de pedido, ao efetuar a compra calcular o valor através do valor de cada produto comprado, diminuir da quantidade daquele produto o número de produtos comprados, todos os dados da compra do usuário deverão ser armazenados em uma classe CarrinhoCompra (Carrinho de compra) que ficará na sessão enquanto o usuário estiver utilizado o sistema. A sessão será utilizada para finalização da compra. Caso o usuário faça logout do sistema ou saia do browser a sessão será perdida.
eu sei que é muita coisa mais você teria alguma sugestão?
desde já agradeço.
Ola,
Voce pode criar suas classes de modelo, que no caso, seria Cliente, Produto, CarrinhoCompra, criar a camada de persistencia, e a camada de regra de negocio(nessa tera os metodos que ira calcular o valor total da compra dos produtos, dar baixa no estoque, etc...).
Se voce for trabalhar com sessao, tu pode configurar qual o tempo para ser expirada, obviamente se voce fiser um logout a sessao sera perdida, mas voce pode sair do browser a sessao nao sera perdida. A sessao sera perdida quando voce fica inativo por um derterminado tempo que seja mais do que o tempo que a sessao foi configurada.
Uma outra sugestao seria trabalhar com Cookies, da uma olhadinha: http://www.roseindia.net/jsp/jspcookies.shtml.
Qualquer duvida, fico a disposicao.
muito legal seu artigo, eu gerei uma aplicação Blog dessa forma porém agora não sei como fazer o seguinte:
Eu tenho uma relação nxm entre Post <-> Category, o cadastro de post por default o hibernate não gera campos para este relacionamento, portanto acredito que deva ser feito na mão.
Com base em uma relação 1xn eu adicionei a tag abaixo no meu cadastro de post
(h:outputLabel value="#{bundle.CreatePostLabel_category}" for="categories" /)
(h:selectManyCheckbox id="categories" \)
(f:selectItems value="#{categoryController.itemsAvailableSelectMany}")
(/h:selectManyCheckbox)
e blz, agora ao cadastrar um posto eu marco no checkbox todas as categorias que o post pertence, porém não sei como fazer para salvar essa relação. ao postar esse form ele dá erro de validaçao pois não programei a relação entre as categorias e o post, acredito eu..
Tem idéia de como fazer isso?
Caro Nei,
Referente a relação nxn entre Post e Category, recomendo que você crie essas tabelas no seu BD, depois tu pode importar Classes Entidades do Banco, o NetBeans faz isto facilmente, o Eclipse também, todas as Classes ja vem com as suas respectivas anotações.
Para selecionar varias categorias no checkbox para um determinado post, pode fazer o seguinte:
Na sua Classe de Controler Category, tem-se:
String[] categorias = new String[]{"jsf", "struts", "ejb", "spring", "hibernate", "ajax"};
String[] categoriasSelecionadas = null;
public String mostrarCategoriasSelecionadas() {
FacesContext context = FacesContext.getCurrentInstance();
UISelectMany checksCategorias = (UISelectMany) context.getViewRoot().findComponent("form:categorias");
categoriasSelecionadas = (String[]) checksCategorias.getSelectedValues();
return null;
}
public String[] getCategoriasSelecionadas() {
return categoriasSelecionadas;
}
public String[] getCategorias() {
return categorias;
}
Na sua pagina jsp, ficaria assim:
(h:form id="form")
Categorias:
(h:selectManyCheckbox id="categorias")
(f:selectItems value="#{CategoryMB.categorias}" /)
(/h:selectManyCheckbox)
(h:commandButton value="OK" action="#{CategoryMB.mostrarCategoriasSelecionadas}" >)
Categorias Selecionadas:
(h:dataTable var="item" value="#{CategoryMB.categoriasSelecionadas}")
(h:column)
(h:outputText value="#{item}" /)
(/h:column)
(/h:dataTable)
(/h:form)
Este é apenas um exemplo simples, que quando selecionadas 0 ou mais categorias e clicado no botão OK, será mostrado todas as categorias que foram selecionadas.
Para o seu exemplo, você pode testar as categorias que estão selecionadas(só fazer um for), e persistilas uma a uma através do hibernate.
Belíssima iniciativa, parabens!
Onde estao as outras partes?
http://jabesfelipe.blogspot.com.br/search/label/Hibernate
Boa tarde Jabes, gostei muito desse tópico, porém quando fui fazer apareceu muitos erros, :/
você poderia me ajudar?
Postar um comentário