java web实现网上手机销售系统

 更新时间:2021年08月17日 11:24:59   作者:mathor-sinor  
这篇文章主要为大家详细介绍了java web实现网上手机销售系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java web实现网上手机销售系统的具体代码,供大家参考,具体内容如下

前言

今天学长向大家分享一个 java web 毕业设计项目:

基于java web的网上手机销售系统

一、项目设计

1. 模块设计

业务流设计

前台模块设计

(1)商品展台模块:通过新品上架,分页显示特价商品,商品销售排行展示网站的所有商品;
(2)商品查询模块:按商品的类别查询商品的相关信息;
(3)购物车模块:用户添加商品至购物车,查看购物车中的商品,从购物车中移除不满意的商品,清空购物车中的产品,修改所要购买的商品的数量;
(4)收银台模块:用户满意购物车中的产品后进行结账并填写订单信息;
(5)用户维护模块:为用户提供了用户注册、用户登录、用户资料修改以及找回密码的功能;
(6)订单查询模块:用户通过查看订单能够了解到自己的当前订单信息及历史订单记录;
(7)公告浏览模块:用户通过浏览公告信息,能够及时了解到网站最新的各种信息。
(8)留言模块:客户可以进行留言给我们提意见,我们在不断地改进中前进。

后台系统功能模块

(1)商品管理模块:按类别查看商品,对商品的信息进行维护;
(2)用户管理模块:为了保护用户的信息,此模块与前台用户维护的区别是管理员只能查看用户信息和删除操作;
(3)管理员维护模块:这是对管理员的信息进行维护,可以修改管理员的信息。
(4)订单管理模块:管理员查询订单,查看订单详细信息,删除订单信息,进行订单受理;
(5)公告管理模块:管理员公告浏览,公告信息维护;
(6)留言模块:管理员可以查看客户的留言,对留言进行维护。

2. 实现效果

二、部分源码

源码较多,文章篇幅有限,这里就不放上来了,仅展示小部分关键代码

部分代码示例:

购物车核心代码

在userAction中:

public String userLogin()
 {
  String sql="from TUser where userName=? and userPw=?";
  Object[] con={userName,userPw};
  List userList=userDAO.getHibernateTemplate().find(sql,con);
  if(userList.size()==0)
  {
   this.setMessage("用户名或密码错误");
   this.setPath("qiantai/index.html");
  }
  else
  {
    Map session= ServletActionContext.getContext().getSession();
    TUser user=(TUser)userList.get(0);
    session.put("user", user);
    Cart cart=new Cart();          //用户登陆成功后生成购物车,并将其放入到session中。
    session.put("cart", cart);
    this.setMessage("成功登录");
    this.setPath("qiantai/index.html");
  }
  return "succeed";
 }

在buyAction中:

public String addToCart()
 {
  TGoods goods=goodsDAO.findById(goodsId);
  TOrderItem orderItem=new TOrderItem();
  orderItem.setGoods(goods);
  orderItem.setGoodsQuantity(quantity);
  Map session= ServletActionContext.getContext().getSession();
  Cart cart = (Cart)session.get("cart");     //将session中的cart取出,也就是上边存储在session中的cart
  cart.addGoods(goodsId, orderItem);
  session.put("cart",cart);              //再把cart放入session
  //this.setMessage("");
  this.setPath("myCart.action");
  return "succeed";
 }
 public String myCart()     //获取我的购物车
 {
  return ActionSupport.SUCCESS;
 }
 public String orderQueren()                 //确认提交订单
 {
  Map request=(Map)ServletActionContext.getContext().get("request");
  return ActionSupport.SUCCESS;
 }
 public String orderSubmit()  //订单提交
 {
  Map session= ServletActionContext.getContext().getSession();
  Cart cart = (Cart)session.get("cart");  //将cart取出
  TUser user=(TUser)session.get("user");    //将用户取出
  TOrder order=new TOrder();
  order.setOrderBianhao(new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()));  //设定订单编号
  order.setOrderDate(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));  //确认订单的日期
  order.setOrderZhuangtai("no");   //订单状态默认为未受理                                      
  order.setOrderUserId(user.getUserId());     //设定订单的用户ID
        order.setOrderJine(cart.getTotalPrice());       //商品的价格
  orderDAO.save(order);                 //保存订单
   
  for (Iterator it = cart.getItems().values().iterator(); it.hasNext();)
     //把订单里的商品存入数据库
  {
   TOrderItem orderItem = (TOrderItem) it.next();
   orderItem.setOrderId(order.getOrderId());
   orderItem.setGoodsId(orderItem.getGoods().getGoodsId());
   orderItemDAO.save(orderItem);
  }
  cart.getItems().clear();  //清空购物车
  session.put("cart", cart);
  
  Map request=(Map)ServletActionContext.getContext().get("request");
  request.put("order", order);
  return ActionSupport.SUCCESS;
   }
   Public String myOrder() //根据用户查询订单
 {
  Map session= ServletActionContext.getContext().getSession();
  TUser user=(TUser)session.get("user");    //获取用户
  String sql="from TOrder where orderUserId="+user.getUserId();
  List orderList=orderDAO.getHibernateTemplate().find(sql);    //调用orderDAO中的find方法,执行sql语句
  Map request=(Map)ServletActionContext.getContext().get("request");  
  request.put("orderList", orderList);     
  return ActionSupport.SUCCESS;
 }
  public String orderMana()     //订单管理
 {
  String sql="from TOrder order by orderUserId";
  List orderList=orderDAO.getHibernateTemplate().find(sql);
  Map request=(Map)ServletActionContext.getContext().get("request");
  request.put("orderList", orderList);
  return ActionSupport.SUCCESS;
 }
   Public String  orderDel()   //用户自己删除订单
 {
  TOrder order=orderDAO.findById(orderId);
  orderDAO.delete(order);
   
  Map session= ServletActionContext.getContext().getSession();
  TUser user=(TUser)session.get("user");
  
  this.setMessage("删除成功");
  this.setPath("myOrder.action?userId="+user.getUserId());     //跳转到 myOrder.action
  return "succeed";
 }
  public String orderDelByAd()    //管理员删除订单
 {
  TOrder order=orderDAO.findById(orderId);
  orderDAO.delete(order);
  String sql="delete from TOrderItem where orderId="+orderId;
  orderItemDAO.getHibernateTemplate().bulkUpdate(sql);
  
  this.setMessage("删除成功");
  this.setPath("orderMana.action");
  return "succeed";
 }
  public String orderShouli()        //对订单进行受理
 {
  TOrder order=orderDAO.findById(orderId);
  order.setOrderZhuangtai("yes");//已经受理订单
  orderDAO.attachDirty(order);
  this.setMessage("受理订单成功");
  this.setPath("orderMana.action");
  return "succeed";
 }
    public String orderDetail()                 //订单明细
 {
  String sql="from TOrderItem where orderId="+orderId;
  List orderItemList=orderItemDAO.getHibernateTemplate().find(sql);
  for(int i=0;i<orderItemList.size();i++)
  {
   TOrderItem orderItem=(TOrderItem)orderItemList.get(i);
   orderItem.setGoods(goodsDAO.findById(orderItem.getGoodsId()));
  }       //取出订单里的商品
  Map request=(Map)ServletActionContext.getContext().get("request");
  request.put("orderItemList", orderItemList);
  return ActionSupport.SUCCESS;
 }

在cart.java中

package com.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.model.TGoods;
import com.model.TOrderItem;
public class Cart    //定义购物车类
{
 protected Map<Integer, TOrderItem> items;
 public Cart()   //定义构造方法
 {
  if (items == null)
  {
   items = new HashMap<Integer, TOrderItem>();
  }
 }
 public void addGoods(Integer goodsId, TOrderItem orderItem)   //添加购物车
 {

  if (items.containsKey(goodsId))                                   
  {
   TOrderItem _orderitem = items.get(goodsId);
   _orderitem.setGoodsQuantity(_orderitem.getGoodsQuantity()+ orderItem.getGoodsQuantity());  //如果购买商品重复,则加上数量
   items.put(goodsId, _orderitem);
  } else
  {
   items.put(goodsId, orderItem);
  }
 }
  Public void delGoods(Integer goodsId)     //删除购物车
 {
  items.remove(goodsId);
 }
  public void updateCart(Integer goodsId, int quantity)    //更新购物车的数量
 {
  TOrderItem orderItem = items.get(goodsId);
  orderItem.setGoodsQuantity(quantity);
  items.put(goodsId, orderItem);
 }
public int getTotalPrice() //计算总的价格
 {
  int totalPrice = 0;
  for (Iterator it = items.values().iterator(); it.hasNext();)
  {
   TOrderItem orderItem = (TOrderItem) it.next();
   TGoods goods = orderItem.getGoods();
   int quantity = orderItem.getGoodsQuantity();
   totalPrice += goods.getGoodsTejia() * quantity; //单价乘以数量
  }
  return totalPrice;
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • MyBatis中执行相关SQL语句的方法

    MyBatis中执行相关SQL语句的方法

    本文主要介绍了MyBatis中执行相关SQL语句的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • java常用工具类 数字工具类

    java常用工具类 数字工具类

    这篇文章主要为大家详细介绍了java常用工具类中的数字工具类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Java方法反射实现原理详解

    Java方法反射实现原理详解

    这篇文章主要为大家详细介绍了Java方法反射的实现原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • SpringBoot集成MyBatisPlus+MySQL的实现

    SpringBoot集成MyBatisPlus+MySQL的实现

    MybatisPlus是国产的第三方插件, 它封装了许多常用的CURDapi,免去了我们写mapper.xml的重复劳动,本文主要介绍了SpringBoot集成MyBatisPlus+MySQL的实现,感兴趣的可以了解一下
    2023-10-10
  • Shell脚本管理Java应用程序的高效方法

    Shell脚本管理Java应用程序的高效方法

    在软件开发中,管理和监控 Java 应用程序的运行状态变得愈加重要,本文将分享一个自用的简单但高效的 Shell 脚本,帮助轻松管理 JAR 包的启动、停止和日志管理,需要的朋友可以参考下
    2024-09-09
  • SpringBoot+OCR 实现图片文字识别

    SpringBoot+OCR 实现图片文字识别

    本文主要介绍了SpringBoot+OCR 实现图片文字识别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Hutool开发利器MapProxy类使用技巧详解

    Hutool开发利器MapProxy类使用技巧详解

    这篇文章主要为大家介绍了Hutool开发利器MapProxy类使用技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • springboot+rabbitmq实现智能家居实例详解

    springboot+rabbitmq实现智能家居实例详解

    这篇文章主要为大家介绍了springboot+rabbitmq实现智能家居的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • SpringBoot整合quartz实现定时任务

    SpringBoot整合quartz实现定时任务

    这篇文章主要为大家详细介绍了SpringBoot如何整合quartz实现定时任务,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-10-10
  • Java实现模拟键盘鼠标操作工具

    Java实现模拟键盘鼠标操作工具

    在桌面自动化、软件测试、游戏开发以及远程控制等领域中,模拟键盘和鼠标操作是一项非常实用的技术,本文将使用 Java 实现一个模拟键盘与鼠标操作的工具,希望对大家有所帮助
    2025-03-03

最新评论