基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】

学生成绩管理系统

1 开发环境及所用知识体系

1.1 开发平台、开发工具、应用服务器的介绍

开发平台:Windows

开发工具:netBeans+mySql

应用服务器:Apache Tomcat 7.0

2 系统需求

2.1 系统总体需求说明

学生成绩管理系统主要用于学校学生成绩信息管理,能实现学生、老师、院系、班级、课程的增删改查操作,同时学生能进行选课和退课操作,老师能对学生的成绩录入和修改操作。

2.2 系统流程图

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第1张图片

2.3 功能结构图

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第2张图片

3 技术选型

3.1 所使用技术的简要介绍

(1)JSP

JSP 全名为 Java Server Pages,中文名叫 Java 服务器页面,其根本是一个简化的 Servlet 设计,它是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML(标准通用标记语言的子集)文件(.htm,.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件,后缀名为(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。

(2)JDBC

Java 中连接数据库的技术是 JDBC,Ja 程序通过 JDBC 驱动程序与数据库相连,执行查询、提取数据等操作。Sun 公司还开发了 JDBC-ODBC bridge,利用此技术 Java 程序可以访问带有 ODBC 驱动程序的数据库,目前大多数数据库系统都带有 ODBC 驱动程序,所以 Java 程序能访问诸如 Oracle、Sybase、MS SQL Server 和 MS Access 等数据库。

(3)JavaBean

JavaBean 是一种 Java 语言写成的可重用组件。为写成 JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他 Java 类可以通过自身机制发现和操作这些 JavaBean 属性。 换句话说,JavaBean 就是一个 Java 类,只不过这个类要按上面提到的一些规则来写,比如必须是公共的,无参构造的等,按这些规则写了之后,这个 JavaBean 可以在程序里被方便的重用,使开发效率提高。

(4)Servlet

Servlet(Server Applet)是 Java Servlet 的简称,称为小服务程序或服务连接器,用 Java 编写的服务器端程序。主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类。一般情况下,人们将 Servlet 理解为后者。Servlet 运行于支持 Java 的应用服务器中。从原理上讲,Servlet 可以响应任何类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器。

(5)CSS

层叠样式表(Cascading Style Sheets)是一种用来表现 HTML(标准通用标记语言的一个应用)或 XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS 不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。CSS 为 HTML 标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS 在 Web 设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。

(6)Spring MVC

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第3张图片

4 功能模块

4.1 学生信息维护

4.1.1 数据库设计

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第4张图片

学生表包含学号、密码、姓名、性别、所在院系和所在班级。其中 Id 为主键。

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第5张图片

4.1.2 模块功能及流程图

学生信息维护这一板块主要用于学生信息的增、删、改、查操作。

1.表示层:(JSP、HTML、CSS 主要就是界面的展示)

2.控制层:(Contoller)控制界面跳转、实现函数的调用,调用 service 层

3.业务层:(Service)调用 DAO 层,实现解耦合目的

4.持久层:(DAO)也叫数据访问层,实现对数据库的一系列 CURD 操作

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第6张图片

图 4-1:学生信息流程图

4.1.3 程序层次结构

MVC 结构

M 是 Model(模型),主要完成系统的逻辑处理;V 是 View(视图),主要完成于用户的交互;C 是 Controller(控制器),主要建立模型与视图之间的关联。

模型:具有处理功能,有一个或多个 JavaBean 对象,用于存储数据,Javabean 主要提供简单的 set()方法和 get()方法,在这些方法中不涉及对数据的具体处理细节。

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第7张图片

控制器:一个或多个 Servlet 对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到 JavaBean 中,然后 Servlet 使用重定向方式请求视图中的某个 JSP 页面更新显示,即让该 JSP 页面通过使用 JavaBean 标记显示控制器存储在 JavaBean 中的数据。

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第8张图片

视图:一个或多个 JSP 页面,为模型提供数据显示,JSP 页面主要使用 HTML 标记和 JavaBean 来显示数据。

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第9张图片

首先是 JSP 层通过 form 表单提交,进入 controller 层,然后 controller 层调用 service 层,service 层调用 dao 层,进行数据库的增删改查操作。

添加操作:

JSP 页面表单提交给 Controller 层 preAdd 映射下的 preAdd()函数,返回 studentInfoAdd.jsp 页面,用户输入相关数据后,表单提交给 Controller 层 Add 映射下的 Addstudent()函数,addStudent()函数调用 getStudent()函数,getStudent()调用 service 层的 AddStudent()函数,service 层调用 dao 层的 saveStudent()函数,获取导数据后传给 service 层,service 层传给 controller 层,controller 层返回 studentInfoProject.jsp 页面,进行显示。

修改操作:

JSP 表单提交给 Controller 层的 getStuById()函数,然后跳转到 StudentInfoUpdate.jsp 页面,用户输入要修改的数据,表单提交给 Controller 层 updateStu 映射下的 updateStu()函数,updateStu ()调用 service 层的 updateStu ()函数,service 层调用 dao 层的 updateStu ()函数,获取导数据后传给 service 层,service 层传给 controller 层,controller 层调用 getStudent()函数,返回 studentInfoProject.jsp 页面,进行显示。

查询操作:

JSP 表单提交给 Controller 层 findStudent 映射下的 findStudent ()函数,调用 service 层的 findStudent ()函数,service 层调用 dao 层的 getStudent ()函数,获取导数据后传给 service 层,service 层传给 controller 层,controller 层调用 findStudent ()函数,返回 studentInfoProject.jsp 页面,进行显示。

删除操作:

JSP 表单提交给 Controller 层 deleteStu 映射下的 deleteStu ()函数,调用 service 层的 deleteStu ()函数,service 层调用 dao 层的 deleteStu ()函数,获取导数据后传给 service 层,service 层传给 controller 层,controller 层调用 getStudent ()函数,返回 studentInfoProject.jsp 页面,进行显示。

4.1.4 程序界面截图及说明

(1)学生信息主界面

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第10张图片

(2)学生信息添加页面(院系和班级分别从相应的表中获取)

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第11张图片

(3)学生信息删除后页面

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第12张图片

(4)学生信息修改页面

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第13张图片

(5)学生信息查询页面(可按照院系或者班级查询,此为按照计算机科学与技术学院 1604 班查询后界面)

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第14张图片

4.1.5 主要代码及说明

显示层:

StudentInfoProject.jsp:通过迭代一个 stus 集合中的对象来输出。

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第15张图片

通过迭代显示院系表和班级表中的数据

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第16张图片

控制层:

注解:@Controller:控制层

直接调用便可映射到此,控制层负责函数的调用

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第17张图片

由于从班级表里面取出的班级可能会有重复,故做此去重处理

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第18张图片

调用 grade 和 subject 对象,用于添加时从数据库读取数据。

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第19张图片

Service 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第20张图片

Service 实现层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第21张图片

Dao 层,进行数据库的相关操作(下为数据的查找)

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第22张图片

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第23张图片

Student 对象的相关属性:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第24张图片

4.2 教师信息维护

4.2.1 数据库设计

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第25张图片

4.2.2 模块功能

教师信息维护这一板块主要用于教师信息的增、删、改、查操作。

4.2.3 程序界面截图及说明

(1)教师信息添加

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第26张图片

(2)教师信息查询

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第27张图片

(3)教师信息修改

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第28张图片

(4)教师信息删除后

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第29张图片

4.2.4 主要代码及说明

teacherInfoProject.jsp

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第30张图片

Controller 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第31张图片

Service 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第32张图片

Dao 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第33张图片

对象属性:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第34张图片

4.3 院系信息维护

4.3.1 数据库设计

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第35张图片

4.3.2 模块功能及流程图

实现院系信息的增删改查。

4.3.3 程序界面截图及说明

(1)院系信息修改

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第36张图片

(2)院系信息添加

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第37张图片

(3)院系信息删除后

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第38张图片

(4)院系信息查询

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第39张图片

4.3.4 主要代码及说明

JSP 页面展示:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第40张图片

Controller 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第41张图片

4.4 班级信息维护

4.4.1 数据库设计

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第42张图片

4.4.2 模块功能及流程图

实现班级信息的增删改查。

4.4.3 程序界面截图及说明

(1)院系信息修改

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第43张图片

(2)院系信息添加

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第44张图片

(3)院系信息删除

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第45张图片

(4)院系信息查询

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第46张图片

4.4.4 主要代码及说明

JSP 页面展示:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第47张图片

Controller 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第48张图片

4.5 课程信息维护

4.5.1 数据库设计

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第49张图片

4.5.2 模块功能及流程图

实现课程信息的增删改查。

4.5.3 程序界面截图及说明

(1)课程信息修改

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第50张图片

(2)课程信息添加

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第51张图片

(3)课程信息删除后

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第52张图片

(4)课程信息查询

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第53张图片

4.5.4 主要代码及说明

JSP 页面展示:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第54张图片

Controller 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第55张图片

Service 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第56张图片

Dao 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第57张图片

对象属性:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第58张图片

4.6 选课信息维护

4.6.1 数据库设计

4.6.2 模块功能

实现选课信息的增删改查。

4.6.3 程序界面截图及说明

(1)选课信息添加

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第59张图片

(2)选课信息搜索

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第60张图片

(3)退课

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第61张图片

4.6.4 主要代码及说明

JSP 页面展示:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第62张图片

Controller 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第63张图片

4.7 成绩信息维护

4.7.1 数据库设计

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第64张图片

4.7.2 模块功能

实现成绩信息的删改查。

4.7.3 程序界面截图及说明

(1)学生信息查询

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第65张图片

(2)学生信息修改

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第66张图片

4.7.4 主要代码及说明

JSP 页面展示:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第67张图片

Controller 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第68张图片

Service 层:

Dao 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第69张图片

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第70张图片

对象属性:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第71张图片

4.8 权限信息维护

4.8.1 数据库设计

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第72张图片

4.8.2 模块功能

分为 3 个权限学生、教师和管理员,各个权限分别有不同的内涵。

4.8.3 程序界面截图及说明

分为 3 个权限学生、教师和管理员

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第73张图片

教师登录页面:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第74张图片

学生登录页面:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第75张图片

管理员登录页面:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第76张图片

4.8.4 主要代码及说明

JSP 页面展示:

登录页面:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第77张图片

Banner.jsp:

学生:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第78张图片

教师:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第79张图片

管理员:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第80张图片

Controller 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第81张图片

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第82张图片

Service 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第83张图片

Dao 层:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第84张图片

对象属性:

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第85张图片

5 实训总结

5.1 总结、自我评价及感想

此次实训,收获满满,我了解了 JavaWeb 的相关知识,并对以前不熟悉的知识有了更深刻的了解。以及网页的实现与后台的连接,通过 c 标签的 if 语句和 foreach 来判断并且给对话添加对象实现角色的判断,使其登录拥有不同的功能。还了解了 MVC 三层模式以及对数据库的相关 SQL 语句操作有了进一步的了解。

只有理论知识是远远不够的,必须要把理论和实际相结合,才能提高自己的动手能力和独立思考能力。通过实训,我认识到学好计算机要重视实践操作,不仅仅只学习编程语言。同时在实践中遇到问题要及时解决,通过查找资料等方法。

更重要的学到了如何去调错,学会看日志,学会设置断点,学会控制台输出一点一点的调错。

♻️ 资源

基于Java+MySQL实现的(Web)学生成绩管理系统【100010564】_第86张图片

大小: 18.7MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87404244

你可能感兴趣的:(课程设计,java,mysql,前端)