项目名称:学生考勤系统
主要功能:添加、删除、修改、查询
数据库字段:
DROP DATABASE IF EXISTS AttDB;
CREATE DATABASE AttDB CHARACTER SET utf8;
USE AttDB;CREATE TABLE Student(sid INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号',sname VARCHAR(20) UNIQUE NOT NULL COMMENT '学生姓名'
);CREATE TABLE Attence(aid INT PRIMARY KEY AUTO_INCREMENT COMMENT '考勤编号',TIME VARCHAR(20) NOT NULL COMMENT '出勤时间',TYPE INT COMMENT '出勤状况 1:已到;2:迟到;3:旷课',sid INT COMMENT '学生编号',FOREIGN KEY(sid) REFERENCES Student(sid)
);INSERT Student VALUE(1,'张三');
INSERT Student VALUE(DEFAULT,'李四');
INSERT Student VALUE(DEFAULT,'王五');
INSERT Student VALUE(DEFAULT,'赵六');INSERT Attence VALUE(1001,'2021-05-20 08:20:00',1,1);
INSERT Attence VALUE(DEFAULT,'2021-05-23 08:20:00',2,1);
INSERT Attence VALUE(DEFAULT,'2021-05-23 13:40:00',2,2);
INSERT Attence VALUE(DEFAULT,'2021-05-27 08:20:00',3,2);
INSERT Attence VALUE(DEFAULT,'2021-05-30 08:20:00',2,3);
INSERT Attence VALUE(DEFAULT,'2021-05-30 15:40:00',1,4);
INSERT Attence VALUE(DEFAULT,'2021-06-20 08:20:00',2,4);SELECT * FROM Student;
SELECT * FROM Attence;
由于之前的MySQL版本太低,中间换成了8.0.28的MySQL。
一、前端页面
jsp文件有![]()
1.主页面index.jsp:
2.查询结果页面:(跳转到selectByName)

3.添加页面insert.jsp:
4.修改页面:(跳转到toUpdatePage?aid=?)

5.导入的jar包有

6.页面编写用到的其他文件

遇到的问题及应用到的文件:
1、Idai的jsp文件中的代码修改后,在网页上显示的页面样式不更改,并且查看源代码仍不更改;解决办法:重新建里项目,重新打开页面。
2、再写前端过程中,遇到不会写的标签,学会在w3cschool.CHM中搜索。
3、jar包的下载及导入
二、数据库的连接
首先在scr下创建resources包,里面添加jdbc.properties。最开始遇到的问题,与数据库连接不正确;原因是driver=com.mysql.cj.jdbc.Driver语句中缺少cj.。其次由于MySQL版本过低在更换版本之前,没有合适的连接数据库的jar包,也导致数据库连接不上,更换版本后可以。
三、后端文件
文件有

com_sm_bean包中为创建对象java文件,其中Attence中属性有
private int aid;private String time;private int type;private int sid;private String sname;
Student中属性有
private int sid;private String sname;
都使用到空参构造器、全参构造器、Get&Set方法和toString方法
com_sm_dao包中只有MainDao文件,用于连接数据库进行增删改查
com_sm_service包中只有MainService,用于处理业务逻辑
com_sm_servlet包中进行所需Servlet文件编写,分别对应删除、添加、查询、修改操作
com_sm_utils包中只有DBUtil,用于接收DataSource对象并复用
resource包用于来连接数据库。
遇到过的问题有,缺少数据抛异常而导致的异常等。
四、项目改进地方:
缺少登陆注册页面,尝试写过,但因为页面源代码问题逐渐放弃了。其次在修改功能上还有欠缺的地方,还可以在改进。关于自己的改错能力有待提高。
五、总结
通过写这次的项目,发现在写项目前要有清晰的思路,想明白要做出的效果,有清晰的逻辑。其次遇到问题及时解决,不浪费时间。然后关于上节段的学习掌握不是很牢固,也不很透彻,逻辑问题较严重。还需更加努力。



















