文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

本文实例为大家分享了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;
 }
}

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯