这几天用SSM + Redis实现了一个较为完整的学生管理系统,感兴趣的同学可以下载来看看,项目注释写得很多,不失为一个学习的好项目。
Github地址:https://github.com/blizzawang/stu_system
由于项目中使用了Redis作为MyBatis的二级缓存,所以你还需要搭建一下Redis的环境,并修改RedisCache类中的主机ip:
若是你不想使用Redis,或者你还没有学习过Redis,你可以选择在项目中移除掉Redis,将Mapper配置文件中关于Redis的配置项去掉即可:
<cache flushInterval="60000" size="1024" readOnly="true" eviction="FIFO" type="com.wwj.util.RedisCache"/>
需要注意的是,因为项目中使用的Spring版本为4.3.7,所以你的jdk版本至少得是1.7,建议使用jdk1.8和tomcat8.0。
本项目包含五个页面,分别为:添加学生信息、学生信息列表、登录、中注册、更新学生信息。
效果图如下:
登录模块
登录模块含有登录注册功能,通过点击页面上的注册按钮可以跳转至注册页面,登录注册页面均进行了部分校验,比如注册时用户名重复、登录时用户名不存在等。
登录页面还实现了锁定功能,当输入密码错误超过三次后,系统将锁定该用户,被锁定后,即使密码输入正确也无法再登录系统,需要等待五分钟后才能重新登录。
锁定时间可以在MyTimer类中进行修改:
这是一个定时器,每隔一分钟会执行一次,所以当你将count设置为一个value值后,系统就会在几分钟后重新激活用户,原理是改变用户状态,0为锁定,1为激活。
学生列表模块
该页面会显示出数据表中的所有学生信息,并提供分页功能,左上角有欢迎词,右上角显示当前时间但并不是实时显示的,安全退出按钮可以退出当前系统回到登录页面。
分页功能有一个小细节,当你处在首页时,上一页按钮将会隐藏;同理,当你处在末页时,下一页按钮将会隐藏。
由于删除功能比较简单,这里直接使用Ajax在原页面实现删除功能,当你点击某个条目的删除按钮时,会提示是否确认删除该学生信息:
当点击确定后,页面会重新加载,对应的学生信息会被删除。
更新模块
点击条目上的更新按钮,会跳转至更新页面:
更新页面会回显对应的学生信息,并做了部分校验,比如当你未做修改时,系统会进行提示:
当你填入空内容时,系统也会提示输入为空:
页面左上角的 回到主页 按钮能够回到学生列表页面。
添加模块
点击学生列表页面左下角的 添加学生信息 按钮可以跳转至添加页面:
你需要填入学生信息,并点击确认提交,系统会自动跳转至学生列表页面,同样地,点击左上角的 回到主页 按钮能够回到学生列表页面。
以上便是该系统的所有功能,类中的注释我都写得非常详细,若是你正在从SSM框架过渡到SpringBoot微服务,或者是急需一个项目来练习一下SSM框架之间的整合,那么本项目无疑非常适合你。
开源不易,若本项目帮助到了你,可以给项目点个star