购物车系列教材 (二)- 产品模块

因为本章节主要讲解如何开发一个购物车,所以产品部分,只提供与购物车相关的产品查询功能。不提供全面的增加,删除,修改,以免分散学习的注意力。

步骤1:新建一个项目
步骤2:SQL
步骤3:Product
步骤4:ProductDAO
步骤5:ProductListServlet
步骤6:listProduct.jsp
步骤7:配置web.xml
步骤8:测试

步骤 1 : 新建一个项目

在eclipse中新建一个java项目,项目名称cart

步骤 2 : SQL

本章节主要讲解如何开发购物车,所以会把重点放在与购物车紧密相关的查询功能方面,不会全面地提供CRUD(增删改查)功能,如果对CRUD还不够熟悉,请参考 Servlet CRUD 

在开始之前,需要做一些数据库方面的准备工作.
1. 创建数据库 cart
2. 在cart 数据库中创建表product
3. 为product准备4条数据

注:插入中文的时候,如果失败,要记得把表的编码方式修改为UTF-8

SQL

create database cart;

DROP TABLE IF EXISTS `product`;

CREATE TABLE `product` (

  `id` int(11) DEFAULT NULL,

  `name` varchar(50) DEFAULT NULL,

  `price` float DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into product values(1,'黑色的丝袜',500);

insert into product values(2,'充气娃娃',2500);

insert into product values(3,'皮鞭',180);

insert into product values(4,'蜡烛',0.20);

步骤 3 : Product

Product类

package bean;

public class Product {

    private int id;

    private String name;

    private float price;

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public float getPrice() {

        return price;

    }

    public void setPrice(float price) {

        this.price = price;

    }

     

}

步骤 4 : ProductDAO

ProductDAO提供对Product的查询

package dao;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import bean.Product;

public class ProductDAO {

    public static void main(String[] args) {

        System.out.println(new ProductDAO().ListProduct().size());

    }

    public List<Product> ListProduct() {

        List<Product> products = new ArrayList<Product>();

        try {

            Class.forName("com.mysql.jdbc.Driver");

            Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/cart?characterEncoding=UTF-8",

                    "root""admin");

            String sql = "select * from product order by id desc";

            PreparedStatement ps = c.prepareStatement(sql);

            ResultSet rs = ps.executeQuery();

            while (rs.next()) {

                Product product = new Product();

                int id = rs.getInt(1);

                String name = rs.getString(2);

                float price = rs.getFloat(3);

                product.setId(id);

                product.setName(name);

                product.setPrice(price);

                products.add(product);

            }

            ps.close();

            c.close();

        catch (ClassNotFoundException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        catch (SQLException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return products;

    }

}

步骤 5 : ProductListServlet

ProductListServlet的作用是通过ProductDAO把product从数据库查出来,然后通过listProduct.jsp显示出来

package servlet;

import java.io.IOException;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import bean.Product;

import dao.ProductDAO;

public class ProductListServlet extends HttpServlet {

    protected void service(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        List<Product> products = new ProductDAO().ListProduct();

        request.setAttribute("products", products);

        request.getRequestDispatcher("listProduct.jsp").forward(request, response);

    }

}

步骤 6 : listProduct.jsp

显示产品名称,价格,并为每种商品提供一个购买按钮。

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8" import="java.util.*"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<table align='center' border='1' cellspacing='0'>

    <tr>

        <td>id</td>

        <td>名称</td>

        <td>价格</td>

        <td>购买</td>

    </tr>

    <c:forEach items="${products}" var="product" varStatus="st">

        <tr>

            <td>${product.id}</td>

            <td>${product.name}</td>

            <td>${product.price}</td>

            <td>

             

            <form action="addOrderItem" method="post">

             

            数量<input type="text" value="1" name="num">

            <input type="hidden" name="pid" value="${product.id}">

            <input type="submit" value="购买">

            </form>

            </td>

        </tr>

    </c:forEach>

</table>

步骤 7 : 配置web.xml

进行产品查询Servlet的配置

<?xml version="1.0" encoding="UTF-8"?>

<web-app>

    <servlet>

        <servlet-name>ProductListServlet</servlet-name>

        <servlet-class>servlet.ProductListServlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>ProductListServlet</servlet-name>

        <url-pattern>/listProduct</url-pattern>

    </servlet-mapping>

</web-app>

步骤 8 : 测试

访问网页

http://127.0.0.1/listProduct



注: 要记得访问路径/listProduct,别直接访问jsp文件 listProduct.jsp

这样就做好进行购买的准备工作,虽然简单,但是足以支持购物车的核心功能了

测试


更多内容,点击了解: https://how2j.cn/k/cart/cart-product/596.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值