Artigo Java Magazine 11 - Struts Vai às Compras

Artigo publicado pela Java Magazine.

Esse artigo faz parte da revista Java Magazine edição 11. Clique aqui para ler todos os artigos desta edição

 

 

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Struts Vai às Compras

Um fundamento do e-commerce com Java

Implemente um carrinho de compras e uma listagem simples de produtos, utilizando sessões, taglibs do Struts e o MySQL

Muitas vezes, ao desenvolvermos uma aplicação web, precisamos guardar informações de usuários entre solicitações, tornando possível recuperá-las a qualquer momento. Um carrinho de compras de uma loja virtual é um dos casos clássicos onde isso é necessário. Neste artigo, vamos apresentar um exemplo baseado no popular framework web Struts, e que também poderá ser usado como modelo para suas aplicações.

Principais componentes

Começaremos descrevendo as partes principais do exemplo. O catálogo exibe os produtos disponíveis e inclui informações como preço, descrição e uma imagem ilustrativa. No exemplo, vamos utilizar um conjunto de produtos obtidos diretamente de uma base de dados previamente criada. As informações textuais dos produtos são obtidas do banco de dados, e as imagens, de um repositório no servidor (apenas os links para as imagens serão armazenados). A única operação que pode ser executada no catálogo é a inserção de um produto no carrinho.

Nota: Para garantir a escalabilidade e a organização da aplicação, o catálogo poderia ser subdividido em categorias, o que simplificaria a localização e a exibição de produtos. Além disso, a listagem poderia ser paginada para limitar a quantidade de itens mostrados por vez. Porém, como o catálogo não é o foco deste artigo, mas sim o carrinho de compras, tais considerações não serão levadas em conta na implementação.

O carrinho de compras contém a identificação dos produtos inseridos, suas quantidades e imagem, ou seja, apenas os atributos necessários para a exibição. As operações possíveis no carrinho são: remover um produto, atualizar uma quantidade e limpar o carrinho. No carrinho é exibido o subtotal da compra, mas omitimos dados como valores de frete e de desconto etc., por simplicidade.

O fluxo da aplicação é detalhado na Figura 1.

Arquitetura Básica

Além de auxiliar no controle de fluxo das telas, o uso do Struts permite uma boa separação entre a lógica de negócio e o código de apresentação. Baseando-se em uma variação da arquitetura MVC, o Model 2, a aplicação é organizada em três camadas: o modelo, contendo objetos de acesso a dados e a lógica de negócio; a visão, na qual se enfoca a apresentação dos dados e a interação com o usuário; e o controlador, responsável pelo fluxo de controle de requisições. (Para mais detalhes sobre essa arquitetura, no contexto do Struts, veja o artigo “Struts Essencial", na Edição 6).

Modelo

No exemplo, vamos utilizar o MySQL (mas poderíamos usar qualquer banco de dados com um driver JDBC 2.0). Para criar e popular a base utilizamos o script da Listagem 1, que pode ser executado diretamente no prompt do MySQL (\bin\mysql.exe), ou gravado em um arquivo-texto e importado utilizando o comando "\.". Você pode, claro, usar um front-end, como o excelente MySQL-Front (veja links).

Os produtos foram modelados pela classe Produto, com atributos produtoId, nome, descrição, imagem e preço, além dos métodos get/set correspondentes. Produtos inseridos no carrinho são representados por objetos " [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados