广告
返回顶部
首页 > 资讯 > 精选 >JavaWeb购物车项目如何开发
  • 315
分享到

JavaWeb购物车项目如何开发

2023-07-02 09:07:36 315人浏览 八月长安
摘要

这篇文章主要介绍“javaweb购物车项目如何开发”,在日常操作中,相信很多人在JavaWEB购物车项目如何开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaWeb购物车项目如何开发”的疑惑有所帮助!

这篇文章主要介绍“javaweb购物车项目如何开发”,在日常操作中,相信很多人在JavaWEB购物车项目如何开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaWeb购物车项目如何开发”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、项目前提

购物车并不是一直放数据库

选择使用的技术:

session:(购物车项目使用session)

好处:快(放在内存当中),存对象的
坏处:占用内存,服务器意外待机数据会丢失

cookie

好处:不占用内存,存储很久
坏处:存在客户端上,只能存String,数据有泄露的风险

二、数据库的创建

用户表

create table shop_user (   id number primary key,--用户id   account varchar2(30) not null,--用户账户   passWord varchar2(30)not null--用户密码);

商品表

create table shop_Goods(   id number primary key,--商品id   name varchar2(50) not null,--商品名称   price number default 0.0,--商品价格   info varchar2(255) default '三五产品' not null--商品介绍 );

三、eclipse进行创建包和类:

JavaWeb购物车项目如何开发

com.zking.util    帮助类com.zking.pojo  实体类com.zking.dao(放dao接口)com.zking.dao.imp    (放dao接口实现类)com.zking.biz (业务逻辑层放dao方法)com.zking.biz.imp(业务逻辑层放dao实现类) com.zking.vo (view object 视图对象 前端用)

四、主要实现功能

1、购物车用户登录

login.jsp

界面效果

JavaWeb购物车项目如何开发

代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html lang="zh"><head>    <meta charset="UTF-8">    <title>Document</title>    <meta name="viewport" content="width=device-width, initial-scale=1">    <link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/CSS/bootstrap.css" rel="external nofollow"  rel="external nofollow" >    <script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/Jquery-3.5.1.js"></script>    <script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/bootstrap.js"></script>    <style>        * {            outline: none !important;        }         html,        body {            background: #1abe9c;        }         fORM {            width: 300px;            background: #ebeff2;            box-shadow: 0px 0px 50px rgba(0, 0, 0, .5);            border-radius: 5px;            padding: 20px;            position: absolute;            left: 50%;            top: 50%;            transform: translate(-50%, -50%);        }         .btn-group {            width: 100%;        }         .btn-group button {            width: 50%;        }    </style></head> <body><form action="doLogin.jsp" method="post">    <h4 class="text-center" >欢迎光临苡桉超市</h4>    <div class="form-group">        <input name="account" type="text" class="form-control" placeholder="请输入您的用户名">    </div>    <div class="form-group">        <input name="password" type="password" class="form-control" placeholder="请输入您的密码">    </div>    <div class="btn-group">        <button type="submit" class="btn btn-primary">登录</button>        <button type="button" class="btn btn-danger">没有账号?</button>    </div></form></body></html>

doLogin.jsp(处理登录界面)

<%@page import="com.zking.vo.CarItem"%><%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@page import="com.zking.pojo.User"%><%@page import="com.zking.biz.impl.UserBizImpl"%><%@page import="com.zking.biz.IUserBiz"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%         request.setCharacterEncoding("UTF-8");     String account=request.getParameter("account");     String password=request.getParameter("password");          IUserBiz userBiz=new UserBizImpl();     User user=userBiz.login(new User(0,account,password));          if(user==null){     response.sendRedirect("login.jsp");     }else{     //首页需要登录数据     session.setAttribute("user",user);     //分配购物车     List<CarItem>car=new ArrayList<>();     //放到session中(把购物车给我)     session.setAttribute("car", car);     response.sendRedirect("index.jsp");      }%>

用户实体类User.java

package com.zking.pojo; public class User {    private Integer id;    private String account;    private String password;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public User(Integer id, String account, String password) {super();this.id = id;this.account = account;this.password = password;}public User() {super();}@Overridepublic String toString() {return "User [id=" + id + ", account=" + account + ", password=" + password + "]";}}

IUserBiz.java (用户逻辑接口) 

package com.zking.biz; import com.zking.pojo.User;public interface IUserBiz {  User login(User user);}

 UserBizImpl.java (用户逻辑接口实现类)

package com.zking.biz.impl; import com.zking.biz.IUserBiz;import com.zking.dao.IUserDao;import com.zking.dao.impl.UserDaoImpl;import com.zking.pojo.User;public class UserBizImpl implements IUserBiz{      private IUserDao userDao=new UserDaoImpl();@Overridepublic User login(User user) {User u = userDao.login(user);if(u!=null) {if(u.getPassword().equals(user.getPassword())) {return u;}}return null;}}

  IUserDao.java(用户数据访问接口)

package com.zking.dao; import com.zking.pojo.User;public interface IUserDao {User login(User user);}

UserDaoImpl.java(用户数据访问接口实现类)

package com.zking.dao.impl; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.List; import com.zking.dao.IUserDao;import com.zking.pojo.User;import com.zking.util.DBHelper; public class UserDaoImpl implements IUserDao {     private Connection con;private PreparedStatement ps;private ResultSet rs;@Override    public User login(User user) {try {  con=DBHelper.getCon();  ps=con.prepareStatement("select * from shop_user where account=?");  ps.setString(1,user.getAccount());  rs=ps.executeQuery();  if(rs.next()) {  User u=new User();  u.setId(rs.getInt(1));  u.setAccount(rs.getString(2));  u.setPassword(rs.getString(3));              return u;   }} catch (Exception e) {          e.printStackTrace();}finally {DBHelper.close(con, ps, rs);}    return null;    }}

2、商品显示

实现效果如下:

将数据库存放的数据显示在页面上,尊贵的xxx通过session拿到登录的用户名

JavaWeb购物车项目如何开发

 Goods.java(商品实体类)

package com.zking.pojo; public class Goods { private Integer id; private String name; private Integer price; private String info;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getPrice() {return price;}public void setPrice(Integer price) {this.price = price;}public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}public Goods(Integer id, String name, Integer price, String info) {super();this.id = id;this.name = name;this.price = price;this.info = info;}public Goods() {super();}@Overridepublic String toString() {return "Goods [id=" + id + ", name=" + name + ", price=" + price + ", info=" + info + "]";}}

index.jsp(首页代码)

<%@page import="com.zking.pojo.Goods"%><%@page import="com.zking.biz.impl.GoodsBizImpl"%><%@page import="com.zking.biz.IGoodsBiz"%><%@page import="com.zking.pojo.User"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html lang="zh"><head>  <meta charset="UTF-8">  <title>Document</title>  <meta name="viewport" content="width=device-width, initial-scale=1">  <link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/css/bootstrap.css" rel="external nofollow"  rel="external nofollow" >  <script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script>  <script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/bootstrap.js"></script>  <style>     td:nth-child(3)::before{      content: "$";    }   </style></head> <body><%   Object obj=session.getAttribute("user");   if(obj==null){   response.sendRedirect("login.jsp");       return;   }%>    <div class="jumbotron">        <div class="container">            <h2>欢迎光临苡桉SuperMarket</h2>            <p>尊贵的<%=((User)obj).getAccount() %></p>        </div>    </div>    <%=session.getAttribute("car")%>   <div class="container">    <table class="table">        <tr>            <th>商品序号</th>            <th>商品名称</th>            <th>商品单价</th>            <th>商品描述</th>            <th>操作</th>        </tr>       <%           IGoodsBiz goodsBiz=new GoodsBizImpl();           for(Goods goods:goodsBiz.getAll()){       %>        <tr>            <td><%=goods.getId() %></td>            <td><%=goods.getName() %></td>            <td><%=goods.getPrice() %></td>            <td><%=goods.getInfo() %></td>            <td>                <div class="btn-group btn-group-xs">                    <a href="doAddCar.jsp?id=<%=goods.getId() %>" rel="external nofollow"  class="btn btn-primary">添加购物车</a>                </div>            </td>        </tr>       <%       }       %>    </table>    </div></body></html>

IGoodsBiz.java (商品逻辑接口) 

package com.zking.biz;import java.util.List;import com.zking.pojo.Goods;public interface IGoodsBiz {     List<Goods>getAll();   //查询单个 Goods getOne(Integer id);}

GoodsBizImpl.java (商品逻辑接口实现类)  

package com.zking.biz.impl; import java.util.List; import com.zking.biz.IGoodsBiz;import com.zking.dao.IGoodsDao;import com.zking.dao.impl.GoodsDaoImpl;import com.zking.pojo.Goods;public class GoodsBizImpl implements IGoodsBiz { private IGoodsDao goodsDao=new GoodsDaoImpl();@Overridepublic List<Goods> getAll() {return goodsDao.getAll(); }   @Overridepublic Goods getOne(Integer id) {return goodsDao.getOne(id);}}

IGoodsDao.java (商品数据访问接口)

package com.zking.dao;import java.util.List;import com.zking.pojo.Goods;public interface IGoodsDao {//查询所有 List<Goods>getAll();  //查询单个 Goods getOne(Integer id);}

GoodsDaoImpl.java (商品数据访问接口实现类)  

package com.zking.dao.impl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import com.zking.dao.IGoodsDao;import com.zking.pojo.Goods;import com.zking.pojo.User;import com.zking.util.DBHelper;public class GoodsDaoImpl implements IGoodsDao{private Connection con;private PreparedStatement ps;private ResultSet rs;@Overridepublic List<Goods> getAll() {List<Goods>list=new ArrayList<Goods>();try {  con=DBHelper.getCon();  ps=con.prepareStatement("select * from shop_goods ");  rs=ps.executeQuery();  while(rs.next()) {  Goods goods=new Goods();  goods.setId(rs.getInt(1));  goods.setName(rs.getString(2));  goods.setPrice(rs.getInt(3));  goods.setInfo(rs.getString(4));              list.add(goods);   }  return list;} catch (Exception e) {          e.printStackTrace();}finally {DBHelper.close(con, ps, rs);}return list;} @Overridepublic Goods getOne(Integer id) { try {  con=DBHelper.getCon();  ps=con.prepareStatement("select * from shop_goods where id=? "); ps.setInt(1, id);  rs=ps.executeQuery();  if(rs.next()) {  Goods goods=new Goods();  goods.setId(rs.getInt(1));  goods.setName(rs.getString(2));  goods.setPrice(rs.getInt(3));  goods.setInfo(rs.getString(4));      return goods;   } } catch (Exception e) {          e.printStackTrace();}finally {DBHelper.close(con, ps, rs);}return null;}}

3、购物车添加&商品总数和价格的计算

doAddCar.java(处理添加购物车的页面)

<%@page import="java.util.List"%><%@page import="com.zking.biz.impl.GoodsBizImpl"%><%@page import="com.zking.biz.IGoodsBiz"%><%@page import="com.zking.vo.CarItem"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%   //添加购物车的页面      //拿购物车   List<CarItem>car=(List<CarItem>)session.getAttribute("car");      IGoodsBiz goodsBiz=new GoodsBizImpl();       //1、得知道是那件商品   String str=request.getParameter("id");   int id=-1;   if(str!=null){   id=Integer.parseInt(str);   }      //2-1 判断该商品是否存在   boolean f=true;   for(CarItem item:car){   //item.getGoods().getId()  条目的商品id   if(id==item.getGoods().getId()){   //商品应该是已经被添加了[购物车中某个条目的商品id和你需要添加的商品id相同了]   item.setCount(item.getCount()+1);//数量+1      item.setSum(item.getCount()*item.getGoods().getPrice());   f=false;   break;   }   }   //只要判断f是否发生了改变   if(f){   //2-2、生成一个CarItem[如果购物车没有该商品]   CarItem carItem=new CarItem();    //设置对应的商品数据   carItem.setGoods(goodsBiz.getOne(id));   //数量   carItem.setCount(1);   //加车数量*商品单价   //carItem.getCount()商品加车的数量   //carItem.getGoods().getPrice() 商品的单价   carItem.setSum(carItem.getCount()*carItem.getGoods().getPrice());   //将购物条目carItem 绑定到购物车   car.add(carItem);     }   //更新购物车   session.setAttribute("car", car);   //跳回首页   response.sendRedirect("index.jsp");%>

  CarItem.java(购物车中的每一项,每一个条目)

package com.zking.vo; import com.zking.pojo.Goods; public class CarItem {  private Integer count;//数量private Integer sum;//条目总价private Goods goods;//对应的商品public Integer getCount() {return count;}public void setCount(Integer count) {this.count = count;}public Integer getSum() {return sum;}public void setSum(Integer sum) {this.sum = sum;}public Goods getGoods() {return goods;}public void setGoods(Goods goods) {this.goods = goods;}public CarItem(Integer count, Integer sum, Goods goods) {super();this.count = count;this.sum = sum;this.goods = goods;}public CarItem() {// TODO Auto-generated constructor stub}@Overridepublic String toString() {return "CarItem [count=" + count + ", sum=" + sum + ", goods=" + goods + "]";}}

效果先简单打印到页面 之后会进行修改 

JavaWeb购物车项目如何开发

到此,关于“JavaWeb购物车项目如何开发”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: JavaWeb购物车项目如何开发

本文链接: https://www.lsjlt.com/news/341137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaWeb购物车项目如何开发
    这篇文章主要介绍“JavaWeb购物车项目如何开发”,在日常操作中,相信很多人在JavaWeb购物车项目如何开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaWeb购物车项目如何开发”的疑惑有所帮助!...
    99+
    2023-07-02
  • JavaWeb购物车项目开发实战指南
    目录一、项目前提二、数据库的创建三、eclipse进行创建包和类:四、主要实现功能1、购物车用户登录2、商品显示3、购物车添加&商品总数和价格的计算总结一、项目前提 1、购物...
    99+
    2022-11-13
  • Android购物车项目快速开发
    购物车项目,业务需要实现了一个购物车的项目,简单的了解下实现逻辑:数据计算等是在Adapter中计算出来的,通过在Adapter中计算出来的数据就可以回调到Activity中进...
    99+
    2022-06-06
    Android
  • Android App开发实战项目之购物车(附源码 超详细必看)
    需要源码请点赞关注收藏后评论区留言~~~ 一、需求描述 电商App的购物车可谓是司空见惯了,可以知道购物车除了底部有一个结算行,其余部分主要是已加入购物车的商品列表,然后每个商品左边是商品小图,右边是商品名称以及价格,第一次进入购物车...
    99+
    2023-09-02
    android 数据库 android studio java 学习
  • 如何使用Redis和Java开发购物车功能
    如何使用Redis和Java开发购物车功能购物车是电商网站中常见的功能之一,它允许用户将商品保存在一个临时的容器中,方便用户浏览、编辑、结算和下单。购物车功能的实现离不开数据的存储和管理,Redis作为一种高性能的内存数据库,非常适合用来实...
    99+
    2023-10-22
    Java redis 购物车
  • 微信小程序购物车功能如何开发
    这篇“微信小程序购物车功能如何开发”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序购物车功能如何开发”文章吧。ind...
    99+
    2023-06-26
  • 如何使用PHP开发一个简易的购物车功能
    简介:随着电子商务的快速发展,购物车功能在网上商城中是必不可少的一部分。本文将介绍如何使用PHP语言开发一个简易的购物车功能,帮助读者了解购物车的基本原理,并且提供具体的代码示例,以便读者可以更好地理解和实践。一、购物车基本原理在开始开发购...
    99+
    2023-10-21
    PHP购物车 简易购物车 开发购物车功能
  • 商城开发中如何构建好用的购物车系统
    在现代的电子商务时代,购物车系统已经成为了绝大部分电商网站和应用的必备组件。购物车不仅方便了消费者存储和跟踪他们的购买物品,还为商家提供了简单而有效的支持,帮助他们促进销售和提供更好的客户服务。但是,一个功能齐全的购物车系统要如何构建呢?在...
    99+
    2023-05-14
    构建 商城开发 购物车系统
  • 利用C#开发在线购物平台的项目经验总结
    在互联网时代,电子商务已经成为人们日常生活的重要组成部分。为了满足用户的需求,我最近参与了一个利用C#开发的在线购物平台的项目。通过这个项目的经验,我对于C#开发和在线购物平台有了更深入的理解和认识。首先,我要感谢团队成员的努力和合作。一个...
    99+
    2023-11-03
    C# 在线购物 项目经验
  • 如何利用MySQL和Go语言开发一个简单的购物车功能
    要利用MySQL和Go语言开发一个简单的购物车功能,可以按照以下步骤进行:1. 创建数据库表格:在MySQL数据库中创建两个表格,一...
    99+
    2023-10-20
    MySQL
  • thinkphp5如何开发项目
    今天小编给大家分享一下thinkphp5如何开发项目的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。环境配置ThinkPHP5...
    99+
    2023-07-05
  • 如何开发node.js博客项目
    小编给大家分享一下如何开发node.js博客项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需要安装的模块body-parse...
    99+
    2022-10-19
  • 如何使用mint-ui开发项目
    小编给大家分享一下如何使用mint-ui开发项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Mint-ui:1、Cell开发过...
    99+
    2022-10-19
  • 如何基于gitlab项目二次开发
    随着开源项目的兴起,越来越多的软件工程师被吸引加入开源社区中来,为开源项目做出贡献。其中,GitLab这个基于Git仓库的开源项目备受欢迎,不仅提供免费的代码托管服务,还提供了多种功能强大的协作工具,让开发者能够更加方便地进行团队协作。但是...
    99+
    2023-10-22
  • 如何进行MacOS下的项目开发
    如何进行MacOS下的项目开发,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言首先介绍下文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是...
    99+
    2023-06-04
  • 如何理解ASP.NET Web开发框架项目
    本篇文章为大家展示了如何理解ASP.NET Web开发框架项目,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。项目名称:Enterprise Solution技术参数1 C# ASP.NET Web ...
    99+
    2023-06-17
  • H5项目如何开发iOS插件功能
    这篇文章主要为大家展示了“H5项目如何开发iOS插件功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5项目如何开发iOS插件功能”这篇文章吧。 ...
    99+
    2022-10-19
  • Java应用开发4中如何加速项目开发速度
    这篇文章将为大家详细讲解有关Java应用开发4中如何加速项目开发速度,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。模板,一个我们天天使用的技术, 比如:Java类就是创建Java对象实例的模...
    99+
    2023-06-17
  • 开发Java项目,如何配置日志系统?
    在开发Java项目时,日志系统是不可或缺的一部分。它可以帮助我们记录程序运行过程中的各种信息,便于我们在出现问题时进行排查。本篇文章将介绍如何在Java项目中配置日志系统。 一、选择日志框架 在Java中,有很多优秀的日志框架可供选择,比...
    99+
    2023-10-31
    日志 教程 开发技术
  • Flex和Java如何快速开发的Flamingo项目
    这篇文章给大家介绍Flex和Java如何快速开发的Flamingo项目,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在学习Flex的过程中你可能会遇到使用Flex和Java快速开发的Flamingo项目的问题,这里和大...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作