3.1登录注册功能
系统登录注册功能主要实现用户根据不同权限进行系统登录验证,当用户名或者密码不匹配以及用户名不存在时,系统会弹出错误提示,。具体的系统登录注册流程如图 3所示。
图3系统登录注册流程图
3.1.1登录功能
登录功能主要通过数据库JPA框架查询管理员的用户名和密码信息,与用户输入信息进行对比判断是否成功登录。通过JPA查询管理员的name和password,然后与用户输入的信息进去对比判断登录情况,(indexdao.findByNameAndPassword(username, password) != null),登录成功进入学生系统主页。登录页面见图5。
图5登录页面
3.1.2注册功能
当用户输入的用户名不存在时,将重新注册一个账号,注册成功返回登录页面进行登录。注册页面见图6。
图6注册页面
3.2国际化功能
国际化功能实现页面的中英文切换,用户可以在登录页面自行切换中英文。功能实现效果见图7所示。
图7 国际化功能实现
3.3登录拦截功能
为了确保学生信息安全,本系统使用HandlerInterceptor接口实现了用户登录拦截功能,通过实现WebMvcConfigurer接口注册拦截器,设置具体需要放行或者拦截的对象,在未进行登录验证状态下用户如果访问学生管理系统的其他页面,均会跳转到登录页面且系统会弹出“没有权限,请先登录”的警告提示。
3.4学生管理
学生管理模块主要实现了用户对学生信息的查询、增加、删除以及修改操作。学生管理页面如图8所示。
图8 学生管理页面
3.4.1 查询学生信息功能
用户可通过分页查询指定页的学生信息,也可通过学生姓名进行模糊查询,查询语句findBySnameLike("%"+sname+"%")、findByBjLike("%"+bj+"%")。例如实现查询所有名字中含“玲”的学生信息。结果见图9所示。
图9 查询班级中含“计算机”的学生信息
3.4.2 增加学生信息功能
点击学生管理页面的添加学生按钮,跳转到添加页面,添加学生信息成功之后点击返回到学生管理页面。实现添加学号为1904050763,姓名为刘静的学生信息,添加操作见图10,添加成功见图11。
图10 添加刘静的学生信息
图11 成功添加刘静的学生信息
3.4.3 删除学生信息功能
点击学生管理页面学生信息后面的删除按钮,将会根据前面的序号id删除指定学生的信息,dao层使用List<StuInfo> deleteById(int id)语句,也可以通过复选框实现多个删除,前端页面使用语句<input type="checkbox" name="sc" th:value="${emp.id}">将选中的所有id全部传入sc里面,后端通过for定义sc数组去拿到所有的id进行多个删除功能的实现,后端代码 for(int i=0; i<sc.length;i++){studentDao.deleteById(sc[i]);}批量操作见图12和图13。
图12 通过复选框删除张三和刘玲学生信息
图13 成功删除删除张三和刘玲学生信息
3.4.4 修改学生信息功能
修改功能主要是在原有学生信息的基础上进行修改,包括查询原信息、修改信息、保存信息三部分。首先由model.addAttribute("emps",studentDao.findById(id).get())获取所选择需要修改信息的某名学生的id,根据id获取该学生的所有信息;然后通过<input th:value="${emps.sno}" class="form-control" type="text" name="sno">等语句查询出学生原来的信息,执行修改操作之后,通过 studentDao.save(stuInfo)保存修改信息。实现将学生陈丽的籍贯修改为贵州遵义,班级修改为19数学的操作,电话号码修改为13982837823,操作见图14和图15。
图14 修改陈丽的学生信息
图15 成功修改陈丽的信息
本系统适合新手小白初学springboot框架使用,可在此基础上进行二次开发