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;
 }
}

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

(0)

相关推荐

  • java实现鲜花销售系统

    本文实例为大家分享了java实现鲜花销售系统的具体代码,供大家参考,具体内容如下 一.练习目标 1.体会数组的作用 2.找到分层开发的感觉 3.收获分层开发的兴趣 4.作出效果,找到自信 5.学会调试错误 6.掌握数组的增删改查方法 二.项目需求 1.使用分层开发:表示层(测试类).业务层(鲜花管理类).实体层(鲜花类) 2.使用数组的相关方法实现鲜花销售系统的查询订单.修改订单.删除订单功能. 3.查询订单之前需要对数组进行初始化操作 4.修改订单时,需要先判断订单是否存在,存在才可以修改,修

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

    本文实例为大家分享了java web实现网上手机销售系统的具体代码,供大家参考,具体内容如下 前言 今天学长向大家分享一个 java web 毕业设计项目: 基于java web的网上手机销售系统 一.项目设计 1. 模块设计 业务流设计 前台模块设计 (1)商品展台模块:通过新品上架,分页显示特价商品,商品销售排行展示网站的所有商品: (2)商品查询模块:按商品的类别查询商品的相关信息: (3)购物车模块:用户添加商品至购物车,查看购物车中的商品,从购物车中移除不满意的商品,清空购物车中的产品

  • python实现手机销售管理系统

    本文实例为大家分享了python实现手机销售管理系统的具体代码,供大家参考,具体内容如下 要求如下: 手机销售系统 手机品牌                手机价格    库存数量      vivoX9                       2798          25      iphone7(32G)         4888          31      iphone7(128G)       5668          22      iphone7P(128G)    

  • 解决java web应用线上系统偶发宕机的情况

    前言: 事情是酱紫的,系统上线两个月后,风平浪静.在一个秋天宁静的下午,老衲正喝着茶听着歌敲着代码,顺便欣赏下妹纸,独享这难得的惬意.突然手机响了,一看来电,心中一沉,项目经理来电,必有蹊跷.匆忙接起电话,没有问候,直奔主题,"赶紧看下系统,个别客户反馈系统不能用了,先恢复系统,再排查问题". 老衲撂下电话,一哆嗦,赶紧连上VPN,直奔服务器主机. PS:三台服务器(centos.128G内存.32核CPU),tomcat1.7,jdk1.8,通过F5负载 解决步骤: 1.top命令查

  • Docker学习笔记之Docker部署Java web系统

    Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app 2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下 3.解压两个tar.gz文件 tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux

  • Java Web开发环境配置详解

    这是进行Java Web开发必备的一个过程,仅供新手参考,高手可以忽略! 先看看要安装的东西: jdk下载地址:http://www.jb51.net/softs/214120.html eclipse下载:http://www.jb51.net/softs/143046.html MySQL下载:http://www.jb51.net/softs/40589.html tomcat下载:http://www.jb51.net/softs/417569.html 各位也可以去官网上下载,版本不一

  • Java Web实现文件下载和乱码处理方法

    文件上传和下载是web开发中常遇到的问题,这几天在做一个项目又用到了文件下载,之前也零零散散记了些笔记,今天来做一下整理.文件上传还有待进一步测试,这里先说一下文件下载. 一.文件下载处理流程 文件下载处理流程其实很清晰,即: 1.根据文件名或者文件路径定位文件,具体的策略主要根据自己的需求,总之需要系统能找到的文件全路径. 2.获取输入流,从目标文件获取输入流. 3.获取输出流,从response中获取输出流. 4.从输入流读入文件,通过输出流输出文件.这是真正的下载执行过程. 5.关闭IO流

  • java web中使用cookie记住用户的账号和密码

    毕业设计中需要用到记住账号密码的功能,网上搜到了一个解决方案,自己稍加改造就是下面的方法. 首先是登录的页面,当用户勾选记住密码,传递给controller(我用的SSM框架),后台设置cookie的值,然后下次登录的时候就不用再次输入账号和密码了. login.jsp的代码: <%@page import="org.apache.commons.lang.StringUtils"%> <%@ page language="java" conten

  • tomcat部署java web项目遇到的问题及解决方法

    背景:本人不是Java开发人员,经过四年多的历练,可以说是一枚BI攻城师了吧,最近粗糙的写了一个Portal来集成cognos报表,下面就入正题说一下发布过程中遇到的小问题吧. a:前提:Java web项目已经在MyEclipse里面开发好,发布,利用MyEclipse8.5自带的tomcat运行,通过IE访问项目主页,登录验证一切OK b:把Java web项目导出为.war格式的文件放到tomcat/webapp下面 或者 在MyEclipse8.5中添加自己安装的tomcat6.0然后运

  • JAVA WEB中Servlet和Servlet容器的区别

    Servlet 很多同学可能跟我一样始终没有搞清楚到底什么是 Servlet,什么是 Servlet 容器.网上看了很多帖子,或许人家说的很清楚,但是自己的那个弯弯就是拐不过来. 想了很久说一下自己的理解. Java web 开发中为啥要有 Servlet 呢?是否可以不要. web开发的本质就一句话:客户端和服务器交换数据.于是你使用 Java 的 Socket 套接字进行编程,去处理客户端来的 tcp 请求,经过编解码处理读取请求体,获取请求行,然后找到请求行对应的处理逻辑步入服务器的处理中

随机推荐