基于SSM+Shiro+Redis+Layui的后台管理系统
2022-08-03 09:57:03
143
{{single.collect_count}}

推荐项目:一套基于Spring Boot+Layui的内容管理系统/快速开发脚手架(含完整的开发文档、演示网址等)

1. 项目概况(含下载)

本项目基于Gitee的开源项目Quella,进行了部分功能的二次开发。

原项目地址:https://gitee.com/quella01/Quella

本项目地址:https://gitee.com/cxh1231/CMS-Quella-SSM

项目协议:Apache-2.0

原项目的最近一次更新发布于2019年1月,所以某些依赖有点过时。

但是此脚手架集成了一些通用的后台功能,如菜单设置、权限控制等,以及集成了常用的第三方服务,如七牛云存储第三方支付等,其开发模式还是值得学习和借鉴的。

并且,使用此脚手架能够快速进行后台管理系统的开发,非常适合敏捷开发。

下文,是基于此框架进行的二次开发,记录了详细的开发过程。

下文部分内容来自原仓库的说明文档和官方开发文档。

2. 项目演示

以下功能是原始系统的功能。

1、后台登录页面:

初始密码:admin

2、后台主页:

图:后台主页

点击右上角的用户名ssrs,点击设置,可以切换成选择卡视图,就是下面这种,每个页面带 x 的样式。

3、菜单设置:

图:菜单设置页

4、权限设置:

图:权限设置页

5、管理员设置:

图:管理员设置页

6、角色设置:

图:角色设置页

以下功能是在原始框架中,进行的二次开发。

7、教室信息管理

图:教室信息页面

8、设备信息管理:

图:设备信息页面

9、新增设备:

图:新增设备页

10、模糊查询:

图:模糊查询页

11、图表统计:

图:统计页

3. 快速部署

3.1 架构说明

  • 前端框架:基于Layui的kit-admin
  • 页面模板:采用 FreeMaker 与 JSP 双视图
  • 后端主要框架:Spring + SpringMVC + MybatisPlus + Shiro + Redis
  • Redis:分布式 session 与 分布式缓存
  • Quartz:任务调度方案
  • ElasticSearch:全文检索与数据分析方案

3.2 环境说明

  • JDK 1.8
  • Tomcat 7.0及以上
  • MySQL 5.7
  • Redis 3.0及以上
  • ElasticSearch 6.4.2(非必须)
  • 开发工具IDEA(需要安装Lombok插件)

以上环境,除了JDK、Tomcat、MySQL是必须的,Redis也是必须的,否则无法登录系统。

ElasticSearch 不是必须的。

如果是Windows系统,建议使用一键安装的Redis

地址:https://github.com/MicrosoftArchive/redis/releases

下载3.2或3.0版本的msi文件,一键安装即可使用。

推荐使用的Redis数据库可视化工具https://gitee.com/qishibo/AnotherRedisDesktopManager/releases

3.3 项目搭建详细过程

1、克隆项目至本地;

图:项目的主要文件

2、使用IDEA导入项目

3、选择Maven项目类型;

图:导入项目2

4、勾选Maven自动导入

图:导入项目3

5、勾选需要导入的Maven项目;

图:导入项目4

6、选择JDK版本

图:导入项目5

7、设置项目名

图:导入项目6

8、导入的项目完整结构

图:导入成功后的项目结构

9、右击resources文件夹,将其设置为资源根目录(右击→Make Dictionary as→Resources Root);

10、右击Test文件夹,将其设置为测试资源根目录(右击→Make Dictionary as→Test Sources Root);

图:设置成功后的资源文件夹

11、配置Tomcat

图:配置Tomcat-1

图:配置Tomcat-2

图:配置Tomcat-3

图:配置Tomcat-4

图:配置Tomcat-5

12、导入SQL脚本文件至自己的数据库;

图:数据库表

13、配置数据库信息

图:配置数据库信息

14、配置Redis信息(一般不需要修改);

图:配置Redis

15、启动Redis服务(一般安装完成后,自动启动);

16、运行项目;

17、浏览器自动跳转至登录页面

4. 快速上手

如何快速开发你需要管理的表呢?

下文的内容将解答你的疑惑。

4.1 一些建议

新建表

系统默认表的前缀是ssrs,为了区别于系统表,新建表的名字建议使用其他前缀,如示例中的前缀table;

后台开发

系统默认的后台项目文件,均在com.ssrs包下,如controller、model等。

为了区别于系统文件,在com.ssrs目录新建了一个名为dev的包,新编写的model、service、controller等文件,建议写在这里,如下图:

图:自己后台目录

前端开发

webapp 文件夹下,有一些静态资源,如css、js等,这是公共的。

webapp/WEB-INF/ftl 目录下,有一些系统默认的页面。

为了区别于系统默认的页面,在该目录下新建了一个名为devPages的文件夹,新编写的页面,建议写在这个文件夹下,如下图:

图:自己前端目录

4.2 添加菜单

启动项目后,即可进入项目后台

在项目后台页面,访问 系统设置>>菜单设置,点击 新增,即可为系统左侧菜单栏新增一个菜单,如下图:

图:添加菜单

这里注意,新增的菜单有两种类型:顶级菜单二级菜单

如果新增的是一个顶级菜单,在没有为其添加二级菜单的情况下,是不会在左侧显示的

顶级菜单的填写示例:

图:顶级菜单填写示例

二级菜单的填写示例:

图:二级菜单填写示例

链接标题、排序、权限名称,是可以任意填写的。

最重要的是链接地址,其地址,必须对应controller中的RequestMapping,否则无法实现响应和页面加载,如下图:

图:控制层示例

4.3 设置权限

本系统中的每个请求(即每个链接),都可以为其设置权限

一般来说,每个表单的增删改查,需要设置权限,并根据实际需求,为每个角色分配不同的权限。

在项目后台页面,访问 系统设置>>权限设置,点击 新增,即可为系统中的链接增加权限

图:新增权限

这里需要注意,权限Action的填写方式,和上文添加二级菜单的Action,一致。

然后,就可以将这些权限分配给每个角色,如下图:

图:分配权限

点击上图所获权限输入框(非 ×),即可展开权限树,勾选提交即可。

4.4 使用逆向工程生成代码

当我们的数据库中增加新的表单后,针对该表单的model、service、mapper、controller等文件,均不需要手动创建,可以直接使用项目提供的代码生成示例,一键生成。

首先使用和修改的信息,如下图所示:

图:逆向工程生成代码

然后右击运行,即可生成各个文件。

图:运行

上图示例代码生成的6个文件,如下图所示:

图:逆向工程生成的代码

最后,也是最重要的,把xml文件中的开启二级缓存部分注释掉!,如下图:

图:注释二级缓存

4.5 添加前端页面

devPages目录下,可以新增自己的一些页面,如添加页面、更新页面等,需要注意,添加的页面后缀应为ftl格式。

图:自己编写的页面示例

至此,关于此框架的一些常规的使用方法和注意事项,基本介绍完毕。

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}