Dificuldade no desenvolvimento de uma Loja Virtual (JSP)

Boa tarde a todos!

Estou com uma dificuldade tremenda no desenvolvimento de uma loja virtual. Estou utilizando um framework desenvolvido pelo nosso professor, chamado Controller.fwk.

Estou conseguindo fazer os cadastros simples, tais como, cliente, fabricantes, produtos, cidades, porém estou com dificuldade de criar um carrinho virtual, para que eu posso escolhar vários produtos e gerar um pedido de compra com eles, como essas lojas virtuais normais.

Sou novo em Java e em programação, estou me esforçando mas, estou travado nessa parte.

Alguém conhece algum lugar que disponibiliza o código fonte de uma aplicação comercial simples, só para eu ter uma noção de como posso fazer meu carrinho de compras.

Abs,
Danilo

PS: Procurei aqui no fórum, mas os links para os códigos estão quase todos expirados e os que eu consegui não me ajudaram

Olá amigo.

Eu considero uma loja virtual como um software de nível médio-avançado para se fazer decentemente, e a sua dúvida (fazer um carrinho de compras) é muito complicada de se responder na bucha assim.

Eu creio que se o sr. não tem um forte embasamento em Java, de todos os conceitos da linguagem, fica difícil de sair alguma coisa decente programando na “força-bruta”.
Talvez seria melhor o sr. estudar mais patterns e algumas coisas fundamentais em Java pra se fazer isso, como Collections, Servlets, Sessions, Cookies etc etc.

Bons códigos o sr. encontrará em sourceforge.net.

Sucesso nos estudos.

Seu professor pegou pesado hein? Caramba, pra que usar um framework próprio?
Seguinte, a lógica de se fazer um carrinho de compras pode até ser pesquisado no google, mas em inglês, porque em portuga não sei bem ao certo se acharás.
Tem também o livro (Dominando JavaServer Faces e Facelets Utilizando Spring 2.5, Hibernate e JPA) do Edson Gonçalves, que ensina a fazer uma loja virtual (http://www.edsongoncalves.com.br/ProjEcommerce/). Mas ele usa o framework JSF 1.2 para renderizar as páginas, o que não sei se, com seu conhecimento, seria capaz de adaptar. A lógica de como funciona um carrinho tá lá, explicada, dê uma olhada em uma livraria para ver se ajuda.

Cara tbm sou iniciante como vc e pior meu curso não oferece um suporte adequado, mas o que tem e eu preciso me formar…
Bom tbm estou fazendo uma aplicação parecida só que usando jsf, meu conselho pra vc é :
Experimente e tente fazer, buscando sua solução … se quiser eu tenho meus arquivos posso mandar pra vc por email…sei que é dificil mas tem que quebrar a cabeça mesmo…rsrsrs
Se precisar estude um pouco mais de teoria e depois volte a prática…comigo está dando certo.

Eu duvido que exista um curso que dê suporte “adequado”. O ideal é sempre comprar livros e mais livros. O problema é que, quando somos estudantes, livros dão sono, livros são usados como suporte de copo no bar e etc.
Toda lógica é possível se adquirem bons livros e eu, particularmente, só tive consciência quando cai na “real”, no mercado de trabalho mesmo.
Meu conselho é e sempre será: se não achar na net, veja nas livrarias e compre livros. Se um não responder adequadamente um detalhe, outro livro responde. Pense bem, melhor gastar R$ 100,00, R$ 200,00 em livros que ficarão em suas mãos e serão futuros pontos de apoio do que pagar o mesmo valor em uma maldita dependência que, sinceramente, não vale (tanto em tempo como em valor jogado fora).

Da uma olhada nas Apostilhas da Caelum , nela tem um projeto passo a passo cmo se fazer uma loja virtual.
E legal, o Carrinho de compras é com arrastar e soltar , ai ele calcula valor e tudo…
E ainda contem boas práticas de desenvolvimento…


Acho que é a fj-28

Amigos sinto a mesma dificuldade que vocês, será que me podiam enviar o trabalho que fizeram onde me possa basear? Ou excertos de código que me ajude a avançar!?

Obrigado…

Meu email: nunoassis_33@hotmail.com

Muito obrigado, é muito urgente, o meu professor está a deixar-me louco…

Criar um carrinho é simples.

Para começar é preciso entender os escopo web : aplicação , sessão, requisição e página.
Estes escopos são “variáveis globais” onde as coisas podem ser guardas e obtidas depois. Só que cada escopo tem uma vida util e no fim dessa vida tudo o que foi guardado é apagado.
O escopo de aplicação durante durante a aplicação toda , ou seja, enquanto o servidor está ligado. Aqui são guardadas coisas que pertencem ao sistema como um todo. Por exemplo, os usuários que estão logados.
O escopo de requisição só dura durante uma chamada do browser ao servidor. Só dura durante uma chamada.
O escopo de sessão dura durante uma “sessão de uso”. uma sessão de uso é um conceito artificial que o servidor cria. É útil agrupar várias chamadas ao servidor num conceito de “sessão”. Então o esocpo de sessão sura mais que uma requisição, mas menos que a aplicação e o servidor amarra a sessão ao browser que a chamou, ou seja, ao usuário (em traços largos).

O carrinho é um conceito que dura mais que uma requisição e é associado ao usuário, logo, ele tem que ficar guardado na sessão. O carrinho em si, pode ser uma abstração qualquer. Pode ser um List de alguma coisa ou um objeto da classe Carrinho. O ponto é que tem que estar guardado na sessão.

Em java servlets sempre ha como ter acesso à requisição (objeto request) e à resposta (objeto response). Do request é possível obter a sessão (getSession() e da sessão é possível obter a aplicação (getSevletContext()).

E é isto o básico. Quando a pessoa colocar o produto no carrinho, pegue o carrinho da sessão. Se não houver nenhum crie um vazio e coloque na sessão nesse momento. Depois é só repetir para cada produto que a pessoa colocar.
quando for para a tela de pedido, pegue o carrinho que está na sessão , liste os produtos, liste os preços , faças as contas do total. quando a pessoa efetivar a compra, gera a nota fiscal com as mesmas informações, impostos, etc…

O ponto é que a sessão tem uma vida util que expira ao fim de um tempo que o usuário não a usar. Normalmente meia hora. Portanto, se o usuário colocar um monte de coisa no carrinho e for embora, quando voltar depois, o carriho estará vazio. Existem tecnicas para perlongar a vida da sessão, mas isso envolve outros recursos além do web container. então, por agora, já que é uma coisa acadêmica, use a sessão sem se preocupar que ela expira.