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; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。