# 教务信息管理系统 **Repository Path**: infinite-creation/EduMessage ## Basic Information - **Project Name**: 教务信息管理系统 - **Description**: 教务管理系统是一个面向学校教务人员的管理系统,为其提供服务的综合信息管理系统。教务人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。学生的个人信息、教师的个人信息、以及所有的课程信息和考试成绩以及每学期的开课情况都记录在教务系统里进行管理。 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: https://blog.csdn.net/long_0901 - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2025-04-30 - **Last Updated**: 2025-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🍬1 前言 > 本文教务信息管理系统于2022年3月12日——2022年5月17日开发完毕,总历时两个多月。论文答辩也已近顺利进行,接下来就期待一个好成绩。感谢CSDN提供的技术交流平台,在做该项目的时候经常遇到一些棘手的bug,不能经常问老师(我害怕把老师问烦了,毕竟他可以教我,也可以不教我,老是麻烦老师,也觉得不好意思的),所以大多数都在网上搜寻解决措施,很高兴有一部分bug能在CSDN平台上找到对应的解决办法。我有强迫症,看到有bug我就想消除它,不消除就不睡觉,有一段时间一连好几天通宵到天亮,头发掉了很多,只是因为看bug不爽。笑死,哪个程序员都不想看到bug,关键一个bug被我弄的变成了10个,20个,30个.......我直接当初气哭o(╥﹏╥)o啊嘞,先不闲聊了,我要抓紧往下面写了,欢迎有不懂的小伙伴评论、留意、私信,我们一起学习,一起进步。 > > 本项目参考书籍《Java EE入门到实战》主编为孙滨、李恋、陈强。出版社为:哈尔滨工程大学出版社。 ## 1.1 项目所需要的知识 **后端知识:Spring+SpringMVC+Mybatis(SSM)** (1)Spring:**Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的开源框架。** (2)SpringMVC:Spring MVC是**Spring Framework**中的一个模块,是 Spring Framework 在Web领域实现 MVC设计模式的具体方案,主要是基于DispatcherServer的前端路由处理和ViewResolver视图解析器来简化开发者的工作效率。 (3)Mybatis:mybatis是一个用**Java编写的持久层框架**,使用ORM实现了结果集的封装。 **数据库:MySQL** MySQL:**MySQL是一种关系型数据库管理系统**,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 [Spring学习笔记(1):了解Spring_她与剑意皆失的博客-CSDN博客🥞目录🥪Spring简介:🍰Spring常用框架:🍕Spring Framework🍕SpringMVC🍕SpringBoot🍕SpringCloud🍕SpringData🍕MongoDB🍟Spring系统架构:🍕(1)核心层🍕 (2)AOP层 🍕(3)数据层🍕 (4)Web层🍕 (5)Test层🥙IOC、IOC容器、Bean、DI🍕1. IOC(Inversion of Control)控制反转🍕2. DI(Dependency ...![ ](https://g.csdnimg.cn/static/logo/favicon32.ico)https://blog.csdn.net/long_0901/article/details/124534654](https://blog.csdn.net/long_0901/article/details/124534654) ## **1.2 开发项目的环境和工具** Spring、SpringMVC、Mybatis、MySQL、jdk1.8、Tomcat8.5、Maven、IntelliJ IDEA 2022.1 ------ # 🍬2 系统结构 ## 2.1系统流程图(E-R图) ![img](https://img-blog.csdnimg.cn/33e1e2a68f7747c2b48ba34b29c1853b.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/2851db5a15734890a859c6f675a5d33d.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) > E-R图是我最讨厌画的图之一,画的不好看,丑死了 ![img](https://img-blog.csdnimg.cn/cb65104395cd4b4db9520142c9f595d3.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/663539eb6135463b9ad44c7cff2ef10e.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/12d21102cca644fa8cc7149bff3a9ebd.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/60839d46b7894859863100b2e993ea80.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/3ed428be90f7465cb4e803d00288f60e.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/2922a049559d4a08abcc8ae1b57c3ef8.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/f6f0cf0f93b94da28611d31e948963a6.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ## ## 2.2配置pom.xml 由于教务信息管理系统是基于SSM框架开发,导入下载一些包是不可避免的,下面是我配置的pom.xml,可供大家参考学习。 ```XML 4.0.0 com.xiaohuo EduMessage 1.0-SNAPSHOT war 8 8 UTF-8 org.hibernate.validator hibernate-validator 7.0.4.Final junit junit 4.13.2 test org.springframework spring-beans 5.3.19 javax.servlet javax.servlet-api 4.0.1 org.apache.shiro shiro-core 1.9.0 org.apache.shiro shiro-web 1.9.0 org.apache.shiro shiro-spring 1.9.0 org.springframework spring-context 5.3.19 org.springframework spring-web 5.3.19 org.springframework spring-webmvc 5.3.19 org.springframework spring-tx 5.3.19 org.springframework spring-aop 5.3.19 org.aspectj aspectjweaver 1.9.9.1 org.springframework spring-jdbc 5.3.19 javax.servlet jstl 1.2 log4j log4j 1.2.17 org.mybatis mybatis 3.5.9 org.mybatis.generator mybatis-generator-core 1.4.1 org.mybatis.generator mybatis-generator-maven-plugin 1.4.1 org.mybatis mybatis-spring 2.0.7 org.hibernate hibernate-validator 7.0.4.Final com.mchange c3p0 0.9.5.5 mysql mysql-connector-java 8.0.29 org.jetbrains annotations-java5 22.0.0 org.slf4j slf4j-nop 1.7.36 com.fasterxml classmate 1.5.1 org.springframework.boot spring-boot-maven-plugin 2.6.7 org.mybatis.generator mybatis-generator-maven-plugin 1.3.5 mysql mysql-connector-java 6.0.6 org.mybatis.generator mybatis-generator-core 1.3.5 true true src/main/resources/generatorConfig.xml ``` ![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ------ # # 🍬3 程序设计及运行 ## 3.1添加课程信息 ### (1)功能描述 该功能可以实现对课程信息中的课程号、课程名称、授课老师编号、上课时间、周数、课程类型、学分的添加。 ### (2)实现代码 ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ">

添加课程信息

``` ![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ### (3)实现截图 ![img](https://img-blog.csdnimg.cn/b82990205b304a6db37cd3f716e3ffa1.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/a4530593f3f3482480c0ad4ef4e2e28b.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ## 3.2学生已修课程 ### (1)功能描述 该功能可以看到学生本人自身已经选修过了的课程,学生可以清楚的看到自己已经选修的课程号、课程名称、授课老师编号、上课时间、周数、课程类型、学分、以及考试成绩。 ### (2)实现代码 ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 课程信息显示 "> <%----%>

已修课程

<%--输出已修完的课程--%>
课程号 课程名称 授课老师编号 上课时间 上课地点 周数 课程类型 学分 成绩
${item.couseCustom.courseid} ${item.couseCustom.coursename} ${item.couseCustom.teacherid} ${item.couseCustom.coursetime} ${item.couseCustom.classroom} ${item.couseCustom.courseweek} ${item.couseCustom.coursetype} ${item.couseCustom.score} ${item.mark}
``` ![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ### (3)实现截图 ![img](https://img-blog.csdnimg.cn/512b78253fb945b5a1c9658b8d23fd6c.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ## 3.3添加教师信息 ### (1)功能描述 该功能可以实现对教师信息中的工号、姓名、性别、出生年份、学历、职称、入职时间、所属院系的添加。 ### (2)实现代码 ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ">

添加教师信息

``` ![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ### (3)实现截图 ![img](https://img-blog.csdnimg.cn/7aae062203aa4ed79778080242c3a1f6.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/5a8f82f06c894a188fd5e423edcaf302.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ## **3.4添加学生信息** ### (1)功能描述 该功能可以实现对学生信息中的学号、姓名、性别、出生年份、入学时间、学院的添加。 ### (2)实现代码 ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ">

添加学生信息

value="${student.userid}" >
value="${student.username}" >
``` ![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ### (3)实现截图 ![img](https://img-blog.csdnimg.cn/01ec4ea936474778ba9c3ddae62b64dd.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/d09ddf1c11c44bac9ca8988ff72a9496.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ## 3.5修改学生信息 ### (1)功能描述 该功能可以实现对学生信息中的姓名、性别、出生年份、入学时间、学院的修改。 ### (2)实现代码 ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> ">

修改学生信息

value="${student.userid}" >
" name="birthyear"/>
" name="grade"/>
``` ![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ### (3)实现截图 ![img](https://img-blog.csdnimg.cn/f5371c6f256f460fa59b0a41e975f70c.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ![img](https://img-blog.csdnimg.cn/79d945b17d0f4976bc9941ce9e8638af.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ## 3.6用户登入页面 ### (1)功能描述 所有学生、教师以及管理员都可通过此页面输入账号密码后进入教务管理系统 ### (2)实现代码 ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--@declare id="firstname"--%>
<%--@declare id="lastname"--%>
``` ![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ### (3)实现截图 ![img](https://img-blog.csdnimg.cn/12b5ef5bda6b42eabf8d4d8e533341d2.png)![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==) ------ # 心得体会 本次教务信息管理系统使用的是SSM框架,起初并不熟悉SSM是干什么的,不知如何下手,于是就对着课表一行一行的敲。但课表给的例图是基于Eclipse开发工具来实现的,代码给的也不完整,所以刚开始看的有点蒙,后来在通过对SSM的基础学习之后就熟练多了。然后就会开始使用maven工程创建项目,配置pom.xml文件,配置SpringMVC、Mybatis以及MySQL和log4j日志文件等等。但在做这个项目的途中并不一帆风顺,异常,报错,一系列的问题推在我的眼前,从一个错误到被我调试成众多的错误。有时候一个bug就能困扰我好几天,好在通过了上网查阅资料以及询问老师,最终问题都能得以解决。通过这个教务信息管理系统项目,使我加深了对Spring 、Springmvc、Mybatis框架的理解,熟悉了SSM的整合开发。