简介
本文基于Java+MySQL+web实现一个简单的学生成绩管理系统,实现B/S三层架构。它使用基础的Servlet
和JSP
实现Web层。它在Dao层使用Druid
数据库连接池,使用DBUtils
操作数据库。在功能上,相比前两个版本增加了用户注册和登录功能。
完整代码见github
任务

项目结构




相关工作
MySQL+java: 实现学生成绩管理系统(1.0版本)
MySQL+java: 实现学生成绩管理系统(2.0版本)
本项目基于以上项目进行改进。主要改进内容有:
- 使用
Servlet+JSP
实现Web层,完整实现B/S三层架构; - 使用
Druid
数据库连接池技术; - 增加了用户注册和登录功能;
目录 | 功能 |
---|---|
indi.huishi.pojo | 实体类,用户表和学生表 |
indi.huishi.utils | 使用Druid数据库连接池,封装数据库连接和关闭 |
indi.huishi.dao | Dao层,基于DBUtils封装CRUD |
indi.huishi.service | Service层,实现具体业务 |
indi.huishi.web | Web层,使用Servlet实现请求和响应 |
indi.huishi.test | 测试 |
/pages/menu | 学生成绩管理系统菜单,html页面 |
/pages/success | Servlet请求转发到jsp页面回传数据给用户 |
/pages/user | 用户注册与登录 |
数据库
包括用户表和学生表。(本文使用数据库不同于2.0版本的db58)
用户表:
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | UNI | NULL | |
| password | varchar(20) | NO | | NULL | |
| email | varchar(200) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+
学生表:注意和2.0版本有很大区别。使用id作为主键自增长列,学号为unique列。
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| NAME | varchar(20) | YES | | NULL | |
| score | float | YES | | NULL | |
| className | int(11) | YES | | NULL | |
| no | varchar(20) | YES | UNI | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
+-----------+-------------+------+-----+---------+----------------+
结果页面
主菜单
增加
查询
删除
修改
排序
统计
注册
登录