Advertisement

[Coding Examples]- Java - Servlets - JSP

1- Introdução


Neste projeto vamos construir uma aplicação utilizando apenas Servlets, Java Server Pages (JSP) e o padrão Data Access Object (DAO). Essas ferramentas podem ser consideradas bastante primitivas, visto que não utilizamos nenhum framework (dos muitos que existem em Java). Teoricamente, pode parecer uma aplicação inútil, porém, construir essa aplicação ajuda o programador a compreender melhor o funcionamento do Java para Web.


2- O Projeto

Este projeto foi pensado como uma loja de e-commerce, sendo assim, devem ser implementadas as funcionalidades de administração do website (adicionar, remover, editar) produtos e administradores. A interface pública da loja (vitrine) deverá exibir os produtos e disponibilizar opções para realização da compra de produtos. 

A seguir é apresentado o diagrama de entidade-relacionamento dessa aplicação. Podemos perceber que uma tabela "usuário" foi criada contendo todos os campos que os administradores devem informar no seu cadastro. A tabela "produto" possui apenas o nome, valor e descrição do produto, portanto, fique a vontade para adicionar novos campos nessa tabela. Por fim, a tabela vendas armazena os dados do comprador, a data da venda, o valor final da venda e também possui uma conexão com a tabela de produtos N - 1 (indicando que um produto pode estar em várias vendas). 
Figura 1: Diagrama da base de dados

3- Como executar o exemplo

Passo 1 - Faça download do código no github:


Passo 2 - Execute o arquivo MWB (mysql workbench) e pressione CTRL + G para executar o código SQL.

Passo 3 - Modifique o arquivo de conexão com o banco de dados (DbConnect.java) inserindo o seu usuário e senha da base de dados.

Passo 4 - Faça build novamente e execute o projeto utilizando o Tomcat.

4- Softwares utilizados (recomendados)

- Apache tomcat 8.5
- Netbeans 8.1
- Mysql Server versão 5.7
- driver mysql versão 5.1
- JSTL 1.2.1

5- Desafio

Nesse exemplo você pode incrementar essa aplicação visando praticar seus conhecimentos sobre essa tecnologia. 

É possível perceber pelo diagrama entidade-relacionamento que uma venda está vinculada diretamente a um produto, no entanto, não existe a possibilidade de uma venda conter vários produtos (dada a conexão N - 1).  Sendo assim, você pode alterar essa conexão para (N-M) e permitindo que em uma única venda possam ser comprados vários produtos.  

Se você aceita esse desafio, faça um fork no github do meu projeto, implemente a solução e faça um comentário aqui nesse post com sua solução! 
 

Nenhum comentário

Conta pra mim sua opinião!

Fale comigo