Java项目:SSM服装出租服装店租赁服装管理系统

news2024/11/23 23:28:42

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本项目为后台管理系统;
管理员角色包含以下功能:
管理员登录,用户管理,公告管理,服装类型管理,服装信息管理,客户信息管理,服装出租管理,服装归还管理,查询租还记录,修改个人信息,修改密码等功能。

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

5.数据库:MySql 5.7版本;

技术栈

1. 后端:Spring SpringMVC MyBatis

2. 前端:JSP+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/

管理员账号/密码:admin/admin

运行截图

代码相关

用户管理控制器

@Controller
@RequestMapping(value = "user/admin", method = {RequestMethod.POST})
public class AdminController {

    @Autowired
    AdminService adminService;

    /**
     * 登录Controller
     * @param request HttpServletRequest 对象
     * @param username 用户名
     * @param password 密码
     * @return Map 返回相关状态
     * @throws Exception 异常
     */
    @RequestMapping(value = "login")
    public @ResponseBody
    Map<String, String> login(HttpServletRequest request, @RequestParam(value = "username", defaultValue = "") String username,
                              @RequestParam(value = "password", defaultValue = "") String password) throws Exception {
        Admin admin = adminService.loginCheck(username, password);
        Map<String, String> resultMap =new HashMap<String, String>();
        if (admin != null) {
            request.getSession().setAttribute("userid", admin.getUid());
            request.getSession().setAttribute("username", admin.getUsername());
            request.getSession().setAttribute("identity", "admin");
            resultMap.put("state", "success");
        } else {
            resultMap.put("state", "fail");
            resultMap.put("reason", ErrorInfoUtil.getErrorInfo("user.login.check.null"));
        }
        return resultMap;
    }

    /**
     * 获取管理员总量
     * @return Map 返回相关状态及信息
     * @throws Exception 异常
     */
    @RequestMapping(value = "getAdminCount")
    public @ResponseBody
    Map<String, Object> getAdminCount() throws Exception {
        int count = adminService.count();
        Map<String, Object> result = new HashMap<String, Object>();
        if (count > 0) {
            result.put("state", "success");
            result.put("result", count);
        } else {
            result.put("state", "fail");
            result.put("reason", 0);
        }
        return result;
    }

    /**
     * 获取指定数量的管理员信息
     * @param offset 偏移量
     * @param limit 限制返回条数
     * @return Map 返回相关状态及信息
     * @throws Exception 异常
     */
    @RequestMapping(value = "getLimitAdmin")
    public @ResponseBody
    Map<String, Object> getLimitAdmin(@RequestParam(value = "offset") int offset,
                                     @RequestParam(value = "limit") int limit) throws Exception {
        List<Admin> adminList = adminService.getLimitAdmin(offset, limit);
        Map<String, Object> result = new HashMap<String, Object>();
        if (adminList.size() > 0) {
            result.put("state", "success");
            result.put("result", adminList);
        } else {
            result.put("state", "fail");
            result.put("reason", null);
        }
        return result;
    }

    /**
     * 根据管理员ID更新管理员信息
     * @param admin 新的管理员信息
     * @return Map 返回相关状态及信息
     * @throws Exception 异常
     */
    @RequestMapping(value = "updateAdminById")
    public @ResponseBody
    Map<String, Object> updateAdminById(@RequestBody Admin admin) throws Exception {
        int updateCount = adminService.updateById(admin);
        Map<String, Object> result = new HashMap<String, Object>();
        if (updateCount > 0) {
            result.put("state", "success");
            result.put("result", updateCount);
        } else {
            result.put("state", "fail");
            result.put("reason", 0);
        }
        return result;
    }

    /**
     * 根据管理员ID数组删除一些管理员信息
     * @param adminIds 管理员ID数组
     * @return Map 返回相关状态及信息
     * @throws Exception 异常
     */
    @RequestMapping(value = "deleteSomeAdmin")
    public @ResponseBody
    Map<String, Object> deleteSomeAdmin(@RequestParam(value = "adminIds[]") String[] adminIds) throws Exception {
        int deleteNum = adminService.deleteSomeAdmin(adminIds);
        Map<String, Object> result = new HashMap<String, Object>();
        if (deleteNum > 0) {
            result.put("state", "success");
            result.put("result", deleteNum);
        } else {
            result.put("state", "fail");
            result.put("reason", null);
        }
        return result;
    }

    /**
     * 添加管理员
     * @param admin 用户信息
     * @return Map 返回相关状态及信息
     * @throws Exception 异常
     */
    @RequestMapping(value = "addAdmin")
    public @ResponseBody
    Map<String, Object> addAdmin(@RequestBody Admin admin) throws Exception {
        int addCount = adminService.addAdmin(admin);
        Map<String, Object> result = new HashMap<String, Object>();
        if (addCount > 0) {
            result.put("state", "success");
            result.put("result", addCount);
        } else {
            result.put("state", "fail");
            result.put("reason", 0);
        }
        return result;
    }

    /**
     * 根据管理员ID更新用户密码
     * @param uid 管理员ID
     * @param originalPasswd 原密码
     * @param newPasswd 新密码
     * @return Map 返回相关状态及信息
     * @throws Exception 异常
     */
    @RequestMapping(value = "updateAdminPasswdById")
    public @ResponseBody
    Map<String, Object> updateAdminPasswdById(@RequestParam(value = "uid", defaultValue = "") String uid,
                                             @RequestParam(value = "originalPasswd", defaultValue = "") String originalPasswd,
                                             @RequestParam(value = "newPasswd", defaultValue = "") String newPasswd) throws Exception {
        int updateCount = adminService.updatePasswdById(uid, originalPasswd, newPasswd);
        Map<String, Object> result = new HashMap<String, Object>();
        if (updateCount > 0) {
            result.put("state", "success");
            result.put("result", updateCount);
        } else {
            result.put("state", "fail");
            result.put("reason", 0);
        }
        return result;
    }

}

如果也想学习本系统,下面领取。回复:220ssm 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕设Python+Vue新生报到管理(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Java项目:SSM在线甜品商城平台

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 管理员角色包含以下功能&#xff1a; 管理员登录,套餐管理,甜品管理,预定管理等功能。 用户角色包含以下功能&#xff1a; 用户登录与注册,查看…

Activiti7-流程变量

流程变量 流程变量的作用域 设置流程定义的key为myEvection2 使用流程变量 定义好流程变量后&#xff0c;就可以在整个流程定义中使用这些流程变量了。例如可以在某些任务属性如 assignee上使用${assignee}&#xff0c;或者在某些连线上使用${day<3}。 Activiti中可以使用…

C语言初阶_初识C语言(2)

我尝试用这博客记录下我所热爱 ​我只不过是个无名小辈 ​无休止地更新 ​在名利中苦苦挣扎 ​世事变幻莫测 ​就算每一次早早被淘汰 ​在失败边缘挣扎 我的数据结构与算法系列开始了&#xff0c;有一定C语言基础的同学可以去学习&#xff01; 数据结构与算法_时间复杂度 有…

jmeter下载及安装配置

目录&#xff1a;导读 前言 jmeter环境 jmeter环境变量配置如下&#xff1a; &#xff08;1&#xff09;新增JMETER_HOME变量 &#xff08;2&#xff09;配置Path环境变量&#xff1a; &#xff08;3&#xff09;配置CLASSPATH变量&#xff0c;加上&#xff1a; &#xf…

计算机毕业设计——基于html智能家电购物商城项目的设计与实现

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

【SpringMVC】使用篇:SpringMVC的开始

目录 一、前言 二、RequestMapping 三、params表达式 四、Ant风格资源地址 五、PathVariable 六、Rest风格的请求数据 七、请求映射数据 相关文章 【SpringMVC】入门篇&#xff1a;带你了解SpringMVC的执行流程【SpringMVC】入门篇&#xff1a;带你了解SpringMVC的执行流程一、…

使用MMA解决拓扑优化问题的并行框架

使用MMA解决拓扑优化问题的并行框架 仅个人论文学习笔记。 本文的重点是用c实现的完全并行拓扑优化框架&#xff08;线性求解器和优化算法&#xff09;&#xff0c;将MMA(Method of Moving Asymptotes)优化算法并行化&#xff0c;作为代码的基本部分。 实现一个拓扑优化问题 在…

vitepress+gitee pages搭建自己的博客网站

概述 “不写博客的GISer不是一个好程序员”。所以&#xff0c;好多程序员会保留着写博客的习惯&#xff0c;一方面记录自己的学习成果或者解决某个问题的方法&#xff0c;一方面能够帮助到他人&#xff0c;再一方面也能够督促自己多学点东西……这是一个一举N得的事情。上为其…

【C语言进阶】怎么可能不会?十分钟带你玩转枚举与联合

目录 &#x1f34a;前言&#x1f34a;&#xff1a; &#x1f95d;一、枚举&#x1f95d;&#xff1a; 1.枚举类型的定义&#xff1a; 2.枚举类型的优点&#xff1a; 3.枚举类型的使用&#xff1a; &#x1f353;二、联合&#xff08;共用体&#xff09;&#x1f353;&#x…

【实验报告NO.000002】MIT 6.858 Computer System Security - Lab 3

0x03.Lab 3: Symbolic execution 本 lab 将教大家使用 符号执行 &#xff08;symbolic execution&#xff09; 这一强大的技术来寻找软件中的漏洞&#xff0c;在 lab 的最后我们将建立一个可以在 zoobar web 应用中寻找触发多种漏洞的符号执行系统&#xff08;准确的说是一个混…

基于主从博弈的电热综合能源系统动态定价与能量管理附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

你真的了解缓存吗?(2)

在上一篇文章你真的了解缓存吗?(1)中&#xff0c;我介绍了引入缓存的利与弊&#xff0c;以及在选择一款缓存中间件时应该注意什么。在这一篇文章中&#xff0c;我们继续介绍在不同的业务场景下&#xff0c;如何进行缓存的选择&#xff0c;具体来说就是缓存的分类&#xff0c;和…

嵌入式分享合集123

一、简易大功率变压器电路图 本文介绍的电子变压器克服了传统硅钢片变压器体积、重量大、效率低、价格高的缺点&#xff0c;电路成熟&#xff0c;性能稳定。 本电子变压器工作原理与开关电源相似&#xff0c;电路原理图见图1&#xff0c;由VD1-VD4将市电整流为直流&#xff0c…

书店管理系统(基于MySQL存储)

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

对标测评YD云电脑和天翼云电脑公众版

最近听说YD也推出了自研云电脑产品&#xff0c;抱着吃瓜心态网上充值体验了一把YD云电脑&#xff0c;正好我手上有天翼云电脑&#xff0c;凑一对测试看看两家央企在云计算领域的技术实力究竟如何。 测试环境搭建在我的个人pc上&#xff0c;分别下载YD云和天翼云电脑最新Windows…

[思维模式-3]:《如何系统思考》-3- 认识篇 - 什么是系统?系统的特征?

目录 第1章 什么是系统 1.1 万事万物都是一个有机的系统 1.2 系统的科学定义 1.3 系统的构成 1.4 系统的分类 第2章 动态复杂系统的八大特征 2.1 目的性 2.8 边界 2.3 结构影响行为 2.4 总体大于部分之和 2.5 因果互动 2.6 反馈 2.7 动态稳定性&#xff08;动态自…

SAP ABAP 小工具 获取两个日期时间秒数和输出时间转换文本

SAP ABAP 小工具 获取两个日期时间秒数和输出时间转换文本 引言&#xff1a; 小工具 获取两个日期时间秒数和输出时间转换文本&#xff0c;用于加强用户交互直观性。 关键字&#xff1a;SAP ABAP 日期时间间隔 秒数 转换时间文本 文章目录SAP ABAP 小工具 获取两个日期时间秒…

[附源码]Python计算机毕业设计Django吾悦商城管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

计算机毕业设计springboot+vue基本微信小程序的小区防疫监管系统

项目介绍 编写工具用idea 、Maven包,后端数据库是mysql,Java语言,springboot框架。其间,在健康打卡位置和物资选购要调用接口才可实现其功能。 1、研究对象&#xff1a;小区居民普通用户和小区管理员 管理员权限&#xff1a;管理员是整个系统的操作者,系统的各个模块都能进行信…