Nesse post você vai ver um exemplo de código completo e funcional usando a linguagem Java servlet e páginas JSP. Entenda aqui qual a modelagem que usamos, as tecnologias usadas e também qual o desafio de construir esse sistema.
Quer aprender mais sobre programação web com Java? Acesse nosso curso grátis.
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).
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.
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
Lembre-se que a tecnologia Servlet e JSP são tecnologias que são padrões do Java WEB.
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!