java学习:基于servlet和jsp写的一个购物车小案例(大佬勿喷)

这篇博客介绍了一个简单的购物车案例,基于Servlet和JSP实现,未使用数据库连接池。通过引入Maven依赖和jQuery,展示了如何在没有数据库的情况下使用Map作为临时存储。博主强调了代码规范性和遵循MVC架构的重要性,尽管项目简单,但对于提升编程思维和规范意识有所帮助。
摘要由CSDN通过智能技术生成

result

所有的书籍

在这里插入图片描述

购物车界面

在这里插入图片描述


项目前的准备

首先要导入maven 的jar包依赖

   <!--servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>
        <!--jsp-->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
         <!--jstl-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!--standard-->
        <dependency>
            <groupId>org.apache.taglibs</groupId>
            <artifactId>taglibs-standard-impl</artifactId>
            <version>1.2.5</version>

还有一个jquery的js文件(这个就网上自己找吧,嘻嘻)
jquery-1.11.0.min.js


code

package dao;

import domain.Book;
import domain.BookDB;

import java.util.Map;

//dao层就是一些原子操作啦
public class BookDao {
   
    //    获取map(假装是数据库)
    public Map getAll() {
   
        return BookDB.getAll();
    }

    //根据书籍编号查找Book对象
    public Book find(String id) {
   
        return BookDB.getAll().get(id);
    }
}
package dao;

import domain.Book;

//因为是购物车,买多本一样的书不可能是书1,书1,书2,实际情况就是书1*2,书2,所以把多本一样的书作为一个购物项,多个购物项组成购物车
public class CartItem {
   

    private Book book;
    //    买的本数
    private int quantity;
    //价格
    private double price;

    //返回这个购物项的总价值
    public double getPrice() {
   
        return book.getPrice() * this.quantity;
    }

    //下面就是一些Getter和Setter的方法
    public Book getBook() {
   
        return book;
    }

    public void setBook(Book book) {
   
        this.book = book;
    }

    public int getQuantity() {
   
        return quantity;
    }

    public void setQuantity(int quantity) {
   
        this.quantity = quantity;
    }

    public void setPrice(double price) {
   
        this.price = price;
    }
}
package domain;

//书籍的实体类
public class Book {
   
    //id
    private String id;
    //名字
    private String name;
    //作者
    private String author;
    //描述
    private String description;
    //价格
    private double price;

    //无参构造
    public Book() {
   
    }

    //有参构造,传入名字,作者,描述,价格
    public Book(String id, String name, String author, String description, double price) {
   
        this.id = id;
        this.name = name;
        this.author = author;
        this.description = description;
        this.price = price;
    }

    //下面都是Getter和Setter
    public String getId() {
   
        return id;
    }

    public void setId(String id) {
   
        this.id = id;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public String getAuthor() {
   
        return author;
    }

    public void setAuthor(String author) {
   
        this.author = author;
    }

    public String getDescription() {
   
        
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小赵OvO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值