Servlet+JSP 课程设计人学习辅助系统错题本管理系统在线笔记网站项目源码+数据库

声明

该项目用了阿里云OSS对象存储,不需要的话可以删了,使用 UploadServlet 即可。

项目介绍

想法起源于学习文化课时错题,因为懒,因此老是不复习,以及文化课笔记较杂。由于本学期有 JSP+Servlet 课程,要完成大作业,因此借此机会实现我的想法。

借助 “Learning-Assistant” 来帮助自己定期规划复习时间。

在笔记方面,当你迷糊记得一定内容,可是不记得在那个笔记中时,“根据内容查找便成为有利的工具”,但无论是自己用 word 还是 typora 等笔记软件,几乎都缺少或不太完美完善(好吧,或许有的很完美但我没用过…)。

由于只教了 “Servlet+JSP”,只能用课本上的知识。因此该项目我尽量避免使用 JSON 和 Ajax 等(老师说教的不深,因此尽量别用),emmm…所以我也留了很多坑,例如文件上传的验证、CSRF 安全、异常处理、404处理等,现在该项目用的几乎都是同步(除了迫不得已)。2023年 06月 13日 星期二 15:21:16 CST

功能设计

  • 注册:没有,暂时考虑辅助个人学习使用。

  • 登陆:每个账号都是独立的。

  • 信息 icon:直接跳转到个人主页的信息箱。

  • 个人主页

    • 个人信息
    • 我的错题本
    • 信息箱
    • 收藏
    • 笔记本
  • 错题训练:复习错题。

  • 错题世界。

  • 笔记:用富文本?还是便利贴?(那就富文本吧…)

个人主页

  • 个人信息:个人信息修改。
  • 我的错题本:保存和添加错题。
  • 信息箱:接收评论的信息。
  • 收藏:收藏错题。
  • 笔记本:保存个人笔记。
我的错题本

功能如下:

  • 显示所有错题。
  • 添加错题。
  • 错题可以设置为共享状态,或私有状态(默认)。

错题训练(好像没做这个?emmmm…不知道,忘记了,随便吧…)

  • 根据算法选出要复习的错题。
  • 每道题目提供三种选项:
    • 答对:可以按照一定规则降低权重。
    • 答错:加权。
    • 熟知:不再安排复习。

错题世界

  • 显示所有已共享的错题。
  • 可以对错题进行评论。
  • 可以对共享的错题进行收藏(但不安排复习)。

开发环境

笔记本:

  • 系统:Linux
  • MySQL:5.7.41
  • IDEA:2022.3.1
  • Tomcat:9

宿舍台式机:

  • 系统:Window 10
  • MySQL:5.7.41
  • Eclipse:2019.12.x
  • Tomcat:9

数据库设计

用户表 user

字段名类型备注
u_idint用户唯一标识
usernamevarchar用户名
passwordvarchar密码
CREATE TABLE users (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `username` VARCHAR(255) NOT NULL,
    `password` VARCHAR(255) NOT NULL,
    `signature` VARCHAR(255),
    `image` VARCHAR(255)
);

insert into users values(null, "admin", "admin", "哈哈", "default.jpeg");

概率(统计)表 statistics

字段名类型备注
idint唯一标识
totalint答题总次数
mistakeint答错总次数
countdown_dayint倒数日
save_countdownint保存 countdown_day
u_idint所属用户
m_idint所属错题
CREATE TABLE statistics (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `total` INT NOT NULL,
    `mistake` INT NOT NULL,
    `countdown_day` INT NOT NULL,
    `save` INT NOT NULL,
    `u_id` INT NOT NULL,
    `m_id` INT NOT NULL
);

insert into statistics values(null, 1, 1, 3, 1, 1, 1); #100%
insert into statistics values(null, 4, 2, 3, 1, 1, 2); #50.00%
insert into statistics values(null, 6, 2, 1, 1, 1, 3); #33.33%

概率计算公式:
P = m i s t a k e t o t a l P = \frac{mistake}{total} P=totalmistake
概率等级:

  • P ≥ 70 P \ge 70 P70:立即复习
  • P ≥ 50 P \ge 50 P50:提前倒数日
  • P ≥ 20 P \ge 20 P20:提前倒数日
  • P < 20 P \lt 20 P<20:正常倒数日

没学过概率统计,无法用更加科学准确的计算方法,因此只能用这种最简单的了…

错题表 mistake

字段名类型备注
idint错题唯一标识
mistakevarchar错题图片路径
correctvarchar答案图片路径
commentvarchar错题备注信息
m_info_idint关联到 mistake_info 表
u_idint属于那个用户
CREATE TABLE mistakes (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `question` VARCHAR(255),
    `correct` VARCHAR(255),
    `comment` VARCHAR(255),
    `m_info_id` INT NOT NULL,
    `u_id` INT NOT NULL
);

insert into mistakes values(null, 'question.png', 'correct.png', '测试1', 1, 1);
insert into mistakes values(null, 'question.png', 'correct.png', '测试2', 2, 1);
insert into mistakes values(null, 'default.png', 'default.png', '测试3', 3, 1);

错题信息表 mistake_info

字段名类型备注
idint信息表唯一标识
datedate录入的时间,无法更改
tag_idvarchar(多)标签,关联到 tag 表
CREATE TABLE mistake_info (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `date` DATE NOT NULL,
    `tag_id` VARCHAR(255)
);

insert into mistake_info values(null, '2023-05-26', '1');
insert into mistake_info values(null, '2023-05-25', '2');
insert into mistake_info values(null, '2023-05-20', '1,2,3');

标签 tag

字段名类型备注
t_idintTag 唯一标识
namevarcharTag 名
u_idint所属用户
CREATE TABLE tags (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(255) NOT NULL,
    `u_id` INT NOT NULL
);

insert into tags values(null, '数学', 1);
insert into tags values(null, '英语', 1);
insert into tags values(null, '计算机', 1);

笔记 notebook

字段名类型备注
idint唯一标识
tittlevarchar笔记标题
datedate新建笔记日期
contenttext文本内容
overviewvarcharr文本摘要,不超过 50 字
u_idint所属用户
CREATE TABLE notebook (
  `id` INT PRIMARY KEY AUTO_INCREMENT,
  `tittle` VARCHAR(255),
  `date` DATE,
  `content` TEXT,
  `overview` VARCHAR(255),
  `u_id` INT
);

UI 界面(只展示 PC 端,移动端不展示)

旧版 —— 被舍友吐槽…(我改完之后,回过头来看,他说的没错 😭)

image-20230613152614043

image-20230613152820887

image-20230613152850717

新版 —— 极简风格

image-20230613153337141

image-20230613153353463

image-20230613153421787

image-20230613153457998
完整代码下载地址:错题本管理系统

  • 19
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanglamei1962

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值