AI 助理
备案 控制台
开发者社区 开发与运维 文章 正文

基于SSM的在线商城系统(最新)

简介: 该系统适合选择框架为SSM,基础中等或以下,做类似商城系统,要求页面美观度高的同学。主要功能包括:完整的商城业务流程,比如用户管理,商品管理、订单管理、分类管理等,满足商城的基本要求。

系统使用技术:SSM


前端技术:bootstrap、css、js等


开发工具:eclipse或idea


数据库:mysql5.7


项目介绍:



该系统适合选择框架为SSM,基础中等或以下,做类似商城系统,要求页面美观度高的同学。主要功能包括:完整的商城业务流程,比如用户管理,商品管理、订单管理、分类管理等,满足商城的基本要求。


下面我们来看看功能。



系统登陆界面:


http://localhost:8080/technology/page/login.html


20210813173758294.png


首页


查看热销商品


image.png


分类查看


可以按照分类查看商品


image.png



商品详情


可以查看商品详情


20210813173914525.png


个人中心


用户登录后可以查看个人信息


20210813173933266.png


购物车


可以查看购物车内商品


20210813173953324.png


我的订单


可以查看个人订单信息


20210813174020676.png


后台首页


可以统计商品、订单信息


image.png


用户管理


对用户进行管理


2021081317410378.png


商品管理


对商品进行管理


20210813174123747.png


订单管理


对订单进行管理


20210813174137483.png


代码



用户登录:


/**
     * produces="application/json;charset=UTF-8":防止ajax获取中文时出现乱码
     * @return 将数据回传给ajax
     */
    @ResponseBody
    @RequestMapping(value = "/usertologin", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
    public Object usertologin(
            Integer uid,
            String upswd,
            HttpServletResponse response,
            HttpSession session) {
        //创建 JSONObject 对象,它会把放入的数据以 json 的数据格式存储,对于集合类型的数据还要用到 JSONArray 数组
        JSONObject object = new JSONObject();
        int i = loginSvc.checkUid(uid);
        if (i > 0) { // 证明账号存在,进行密码验证
            object.put("num_i", i);
            object.put("SUCCESS_MESSAGE", "账号验证成功!");
            int j = loginSvc.checkLogin(new User(uid, upswd));
            if (j > 0) { // 密码正确,进行相同账号的登录验证
                object.put("num_j", j);
                object.put("SUCCESS_MESSAGE2", "密码验证成功!");
                User user_session = (User) CoreUtil.getSession().getAttribute(Constants.LOGIN_USER);
                if (user_session!=null) { //证明用户已登录,不允许相同账号的登录
                    object.put("ERROR_MESSAGE", "该账号已登录!");
                    return object.toString();
                } else {  //尚未有该用户登录,需要获取个人信息,保存用户名等,用以显示
                    /*String ipAddr = ToolsUtil.getIpAddr(request);
            System.out.println("当前用户IP为:" + ipAddr);*/
                    User user = loginSvc.showUserInfo(uid);
                    /*保存信息,用于验证登录拦截器*/
                    session.setAttribute(Constants.LOGIN_USER, user);
                    session.setAttribute("myinfo", user);
                    String lasttime = ToolsUtil.getTime("yyyy-MM-dd HH:mm:ss", 0);
                    User user2 = loginSvc.showUserInfo(uid);
                    user2.setLasttime(lasttime);
                    int k = loginSvc.upUser(user2); // 此处可以对k进行判断,提示等
                    String logintime = ToolsUtil.getTime("yyyy年MM月dd日 HH:mm:ss", 0);
                    // 登录日志记录,此处为日志插入单独写了一个方法,调用即可
                    String descb = "您在【" + logintime + "】登录了本商城";
                    Log log = ToolsUtil.insertLog(uid, descb);
                    int m = loginSvc.insertUserLog(log);
                }
            } else {
                object.put("ERROR_MESSAGE", "密码错误,请重新输入!");
            }
        } else {
            object.put("ERROR_MESSAGE", "账号不存在!");
        }
        return object.toString();   //由于前端ajax在接收服务器数据时一般是字符串,因此要用“.toString()”方法转化
    }


生成订单:


@RequestMapping("/addOrder")
    public String addOrder(
            String orderaddress,
            @RequestParam(required = false) Integer[] pid,
            @RequestParam(required = false) int[] pronum,
            HttpSession session) {
        Order order = new Order();
        int id = getLoginUserId();
        order.setUid(id);
        order.setOrderaddress(orderaddress);
        /*Integer[] pid = {100001, 100002};
        int[] pronum = {23, 31};*/
        List<Map<String, Object>> prolist = productSvc.proSelByCIds(pid, pronum);
        List<OrderDetail> orderDetails = new ArrayList<OrderDetail>();
        for (Map<String, Object> aProlist : prolist) {
            OrderDetail od = new OrderDetail();
            od.setPid((Integer) aProlist.get("pid"));
            od.setPimg((String) aProlist.get("pimg"));
            od.setPname((String) aProlist.get("pname"));
            od.setPrice((Float) aProlist.get("price"));
            od.setOdetailnum((Integer) aProlist.get("pronum"));
            orderDetails.add(od);
        }
        /* 邮费 10-30 随机 */
        Random random = new Random();
        order.setPostalfee(random.nextInt(20) + 10);
        int i = orderSvc.addOrder(order, orderDetails); //会调用Dao,向order表插入数据
        if(i>0){
            String descb = "下单成功,订单号:【" + order.getOrdercode() + "】";
            Log log = ToolsUtil.insertLog(UserUtil.getLoginUserId(), descb);
            loginSvc.insertUserLog(log);
            Order orderss = iorderDao.getOrderDetailById(order.getOrderid());
        List<OrderDetail> details =  orderss.getOdetails();
        for(int i1= 0;i1<details.size();i1++){
          Product p = iProductDao.proSelByCId(details.get(i1).getPid());
          Product product = new Product();
          int stock = p.getStock() - details.get(i1).getOdetailnum();
          product.setStock(stock);
          product.setPid(details.get(i1).getPid());
          iProductDao.updataStock(product);
        }
        }
        System.out.println("----------" + i);
        return "redirect:getMyOrders";
    }


以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。


好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

猫头鹰源码(同名B站)
目录
相关文章
热爱技术的小郑
|
6天前
|
SQL Java 应用服务中间件
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
这篇文章是关于如何使用SSM框架搭建图书商城管理系统的教程,包括完整过程介绍、常见问题解答和售后服务,提供了项目地址、运行环境配置、效果图展示以及运行代码的步骤。
热爱技术的小郑
18 0
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
码农飞哥
|
1月前
|
存储 关系型数据库 测试技术
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)(2)
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)
码农飞哥
23 1
杨校
|
2月前
|
前端开发
杨校老师之基于SSM开发的校园点餐配送系统
杨校老师之基于SSM开发的校园点餐配送系统
杨校
33 0
杨校老师之基于SSM开发的校园点餐配送系统
码农飞哥
|
1月前
|
安全 数据挖掘 测试技术
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)(2)
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)
码农飞哥
27 0
码农飞哥
|
1月前
|
Java 关系型数据库 MySQL
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)(1)
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)
码农飞哥
22 0
码农飞哥
|
1月前
|
Java 关系型数据库 测试技术
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)(1)
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)
码农飞哥
25 0
杨校
|
2月前
|
前端开发 Java
基于SSM框架的手机商城项目
基于SSM框架的手机商城项目
杨校
26 0
杨校
|
2月前
|
前端开发 Java 关系型数据库
杨校老师项目之基于SSM企业物流快递配送管理系统
杨校老师项目之基于SSM企业物流快递配送管理系统
杨校
35 0
计算机学长猫哥
|
2月前
|
Java 关系型数据库 MySQL
基于Java和SSM框架的多人命题系统
基于Java和SSM框架的多人命题系统
计算机学长猫哥
23 0
编程千纸鹤
|
2月前
|
搜索推荐 JavaScript Java
计算机Java项目|基于SSM的个性化商铺系统
计算机Java项目|基于SSM的个性化商铺系统
编程千纸鹤
30 1

热门文章

最新文章

  • 1
    经验大分享:ssm异步上传图片
  • 2
    SSM使用IDEA整合视频及源码配置文件
  • 3
    SSM-SpringMVC-10:SpringMVC中PropertiesMethodNameResolver属性方法名称解析器
  • 4
    SSM-SpringMVC-11:SpringMVC中ParameterMethodNameResolver参数方法名称解析器
  • 5
    2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》
  • 6
    记一次关于SSM框架的使用错误
  • 7
    SSM-Spring-18:Spring中aspectJ的XML版
  • 8
    RHEL7/CentOS7新功能SSM存储管理器 操作实战
  • 9
    03SSM综合案例之16SpringSecurity(一)
  • 10
    旅游定制服务|基于SSM实现旅游个性化定制网站平台
  • 1
    经验大分享:ssm异步上传图片
    28
  • 2
    SSM使用IDEA整合视频及源码配置文件
    28
  • 3
    基于SSM框架的手机商城项目
    26
  • 4
    杨校老师项目之基于SSM大学生创新创业项目管理系统
    45
  • 5
    杨校老师项目之基于SSM企业物流快递配送管理系统
    35
  • 6
    杨校老师项目之基于SSM社区疫情防控人员访客登记报备平台
    25
  • 7
    杨校老师之基于SSM开发的校园点餐配送系统
    33
  • 8
    杨校老师课堂之Java EE框架SSM所需jar包下载
    41
  • 9
    杨校老师课堂基于SSM整合之用户登录案例【Eclipse - Maven版】2
    23
  • 10
    杨校老师课堂基于SSM整合之用户登录案例【Eclipse - Maven版】1
    27
  • 相关课程

    更多
  • 软件供应商进阶管理实操
  • 大数据分析之企业级网站流量运营分析系统开发实战(第四阶段)
  • 软件用户使用服务及供应商进阶管理
  • 大数据分析之企业级网站流量运营分析系统开发实战(第三阶段)
  • 软件供应商发布服务实操
  • 大数据分析之企业级网站流量运营分析系统开发实战(第二阶段)
  • 相关电子书

    更多
  • 电商网站需求分析和架构设计Spring Boot2.6入门
  • 电商网站需求分析和架构设计
  • 爆款APP小咖秀产品服务端架构设计分享
  • 相关实验场景

    更多
  • 收银台的场景化界面实践
  • 使用EDA架构部署在线外卖订单系统
  • 网站用户流量分析—适用于电商网站、资讯网站、游戏主站等各类Web站点场景
  • 搭建Magento电子商务网站
  • 小试牛刀,一键部署电商商城
  • 搭建简易多人在线视频会议系统
  • 下一篇
    【案例实战】SpringBoot整合阿里云文件上传OSS

    PHP网站源码爱联关键词按天收费永湖设计网站双龙设计公司网站广州网站改版布吉网站推广木棉湾企业网站建设松岗企业网站制作坑梓网站seo优化罗湖网站开发广州优秀网站设计双龙模板网站建设深圳建设网站吉祥阿里店铺运营大运外贸网站建设荷坳关键词排名吉祥外贸网站设计民治网页设计平湖网站优化推广东莞品牌网站设计罗湖推广网站广州SEO按天计费龙华企业网站建设福永百搜词包民治网站优化按天收费南澳网站推广工具民治网站推广系统惠州网站建设设计宝安阿里店铺运营龙岗百度竞价坑梓网页制作歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化