👉文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频
1 、功能描述
基于SSM的学生信息管理系统12拥有三种角色:学生、教师、管理员
-
学生:选课、查看已选课程、查看成绩
-
教师:成绩管理
-
管理员:课程管理、学生管理、教师管理、密码修改等
1.1 背景描述
本文结合学生管理工作的实际情况,通过流程整理和分析,找到了学生管理工作存在的不足和提升之处。按照学院实际工作,依据学校的实际情况和需求,设计和开发高职院校学生学籍管理系统。本系统要达到信息检索快、使用方便、性能稳定、可用率高、稳定性强、以及可用存储大和性价比高的目的。 本文深入分析学生信息管理工作的需求,依据项目开发的流程进行分析,从高的层面上定义了总体结构图、实体关系图等,采用B/S技术,使用MYSQL数据库,定义周全的接口,完善有关的操作,为学生管理工作保障运行提供良好的基础。系统进行了多项测试,测试结果表明系统功能正常,业务操作性能比较稳定顺畅。
2、项目技术
后端框架:SSM(Spring、SpringMVC、Mybatis)
前端框架:Bootstrap、jsp、css、JavaScript、JQuery
2.1 SSM
SSM(Spring+SpringMVC+MyBatis)是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。其中,Spring就像是整个项目中的粘合剂,负责装配bean并管理其生命周期,实现控制反转(IoC)的功能。SpringMVC负责拦截用户请求,通过DispatcherServlet将请求匹配到相应的Controller并执行。而MyBatis则是对JDBC的封装,让数据库底层操作变得透明,通过配置文件关联到各实体类的Mapper文件,实现了SQL语句映射。
2.2 mysql
MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。
3、开发环境
- JAVA版本:JDK1.8,其它版本理论上可以
- IDE类型:IDEA
- tomcat版本:Tomcat 7.x、8.x、9.x、10.x版本均可
- 数据库版本:MySql 5-8
- 硬件环境:Windows 或者 Mac OS
4、功能截图+视频演示+文档目录
4.1 登录
4.2管理员 模块
管理员可以增删改查课程、学生、教师信息
4.3 教师模块
4.4 学生模块
4.5 文档目录
5 、核心代码实现
5.1 配置代码
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/examination_system?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
jdbc.username = root
jdbc.password = root
5.2 其它核心代码
package com.system.controller;
import com.system.exception.CustomException;
import com.system.po.Userlogin;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.PrincipalCollection;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class LoginController {
// 登录跳转
@RequestMapping(value = "/login", method = {RequestMethod.GET})
public String loginUI() throws Exception {
return "../../login";
}
// 登录表单处理
@RequestMapping(value = "/login", method = {RequestMethod.POST})
public String login(Userlogin userlogin) throws Exception {
UsernamePasswordToken token = new UsernamePasswordToken(userlogin.getUsername(),
userlogin.getPassword());
Subject subject = SecurityUtils.getSubject();
// 如果获取不到用户名就是登录失败,但登录失败的话,会直接抛出异常
subject.login(token);
if (subject.hasRole("admin")&userlogin.getRole()==0) {
return "redirect:/admin/showStudent";
} else if (subject.hasRole("teacher")&userlogin.getRole()==1) {
return "redirect:/teacher/showCourse";
} else if (subject.hasRole("student")&userlogin.getRole()==2) {
return "redirect:/student/showCourse";
}else throw new CustomException("请选择正确的身份登陆");
}
}
6 、功能视频演示
基于SSM的学生信息管理系统