項目簡介
使用技術:
- Servlet
- JSP
- JDBC
功能簡介:
- 教師使用功能:添加作業(yè)、添加學生、查看作業(yè)提交情況
-
學生使用功能:提交作業(yè)
添加作業(yè)
項目代碼結構:

代碼結構
數(shù)據(jù)庫設計:
- s_homework表:包含屬性id、title、content、create_time、update_time
- s_student表:包含id、name、create_time、update_time
- s_student_homework表:包含id、student_id、homework_id、homework_title、homework_content、create_time、update_time
- sql如下:
CREATE SCHEMA `school` DEFAULT CHARACTER SET utf8mb4 ;
DROP TABLE if exists `school`.`s_homework`;
CREATE TABLE `school`.`s_homework` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(20) NULL,
`content` TEXT NULL,
`create_time` TIMESTAMP NOT NULL,
`update_time` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
DROP TABLE if exists `school`.`s_student`;
CREATE TABLE `school`.`s_student` (
`id` BIGINT NOT NULL,
`name` VARCHAR(20) NOT NULL,
`create_time` TIMESTAMP NOT NULL,
`update_time` TIMESTAMP NULL,
PRIMARY KEY (`id`));
DROP TABLE if exists `school`.`s_student_homework`;
CREATE TABLE `school`.`s_student_homework` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`student_id` BIGINT NOT NULL,
`homework_id` BIGINT NOT NULL,
`homework_title` VARCHAR(45) NOT NULL,
`homework_content` TEXT NULL,
`create_time` TIMESTAMP NOT NULL,
`update_time` TIMESTAMP NULL,
PRIMARY KEY (`id`));
參考鏈接:
- 該項目CSDN鏈接:CSDN鏈接
- javaEE環(huán)境配置:javaEE環(huán)境配置
- 項目源碼:作業(yè)管理系統(tǒng)源碼
項目實現(xiàn)
項目主界面:
該界面使用一個index.jsp文件實現(xiàn),四個功能分別使用四個超鏈接。

主界面
添加作業(yè)功能:
- 實現(xiàn)流程:index.jsp→addHomework.jsp→AddHomeworkServlet→operationResult.jsp
-
界面:
添加作業(yè)
成功添加
添加學生功能:
- 實現(xiàn)流程:index.jsp→addStudent.jsp→AddStudentServlet→operationResult.jsp
-
界面:
添加學生
image.png
已存在該學生
查看作業(yè)提交情況功能:
- 實現(xiàn)流程:index.jsp→DisplayHomeworkServlet→queryAllHomework.jsp→QuerySpecificHomeworkServlet→specificHomeworkSubmission.jsp
-
界面:
查看作業(yè)
作業(yè)詳情
學生提交作業(yè)功能:
- 實現(xiàn)流程:index.jsp→DisplayAllHomeworkServlet→displayAllHomework.jsp→SubmitHomeworkServlet→submitHomework.jsp→SubmitHomeworkServlet→operationResult.jsp
-
界面:
提交作業(yè)
提交成功
提交失敗
心得體會
- 需要時刻考慮學號不存在的情況,否則會導致數(shù)據(jù)庫數(shù)據(jù)混亂。
- 兩個jsp之間傳數(shù)據(jù)可以直接傳,也可以通過中間的Servlet傳遞。
- 數(shù)據(jù)庫的TIMESTAMP類型與java的Date類型的轉換關系要分清楚。
- JDBC的各個函數(shù)應放在一個工具類里。
(注:項目代碼在上面的github鏈接里,文章里沒有具體實現(xiàn)代碼)









