SSM 实现学生成绩管理系统(完整代码)

Spring+SpringMVC+Mybatis 实现学生成绩管理系统

简介

本文基于Spring+SpringMVC+Mybatis实现一个简单的学生成绩管理系统,实现三层架构。它在上一JavaWeb版本基础上使用了SSM框架,优化了相关功能,使用分页模型对所有学生信息进行显示。

完整代码见github

任务


相关工作

本项目基于以上项目进行改进。主要改进内容有:

  • 使用Spring+SpringMVC+Mybatis框架实现,代替原生Servlet处理请求转发;
  • 使用SpringMVC拦截器判断用户是否登录,在注册页面使用验证码;
  • 使用SpringMVC的ControllerAdvice 实现全局异常处理;
  • 使用Spring注解式事务管理;
  • 使用分页模型显示所有学生信息,在主页基础上实现增加、删除、修改、统计功能,在前端页面上增加更多交互功能和提示。

更新日志(已经在github上更新)

  • 21/4/23: 实现Spring注解式事务管理,进行测试。
  • 21/4/28: 优化了SpringMVC拦截器的功能 ,对静态资源文件和登录/注册之外所有请求路径进行拦截;修复了查询结果页面导航图标点击没反应的问题。

项目结构

这是一个maven工程。

└─main
    ├─java
    │  └─indi
    │      └─huishi
    │          ├─controller 控制器
    │          ├─dao		持久层,和数据库交互
    │          │  └─impl
    │          ├─handler	处理异常
    │          ├─interceptor拦截器判断登录状态
    │          ├─pojo		实体类 Student User
    │          ├─service	业务层
    │          │  └─impl	实现类
    │          ├─test		测试
    │          │  └─basic
    │          └─utils
    ├─resources				配置文件
    │  └─indi
    │      └─huishi
    │          └─dao
    └─webapp
        ├─META-INF
        ├─pages
        │  ├─common			页面通用部分
        │  ├─error			错误页面
        │  ├─menu			主菜单:学生信息处理相关所有页面
        │  ├─test
        │  ├─useless
        │  └─user			登录和注册
        ├─static
        │  ├─css			样式
        │  ├─img			图片
        │  └─script			jquery
        └─WEB-INF
            ├─classes
            │  └─indi
            │      └─huishi
            │          ├─controller
            │          ├─dao
            │          ├─handler
            │          ├─interceptor
            │          ├─pojo
            │          ├─service
            │          │  └─impl
            │          ├─test
            │          │  └─basic
            │          └─utils
            └─lib


数据库

使用MySQL实现,和上一版本的区别:学生表的主键和学号字段分离。主键将不再面向用户出现。

USE student_score_ssm;

CREATE TABLE student_score(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NO VARCHAR(10) UNIQUE NOT NULL,
	NAME VARCHAR(20) NOT NULL,
	score FLOAT(20),
	class_name INT
);


CREATE TABLE USER(
	id INT PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(20) UNIQUE,
	PASSWORD VARCHAR(20) NOT NULL,
	email VARCHAR(20)
);

结果页面

主页

在这里插入图片描述
在这里插入图片描述

查询

在这里插入图片描述
在这里插入图片描述
查询异常
在这里插入图片描述

增加

在这里插入图片描述

修改

在这里插入图片描述

删除

在这里插入图片描述

统计

在这里插入图片描述

登录

在这里插入图片描述

注册

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36937684/article/details/115924220