JavaEE-期末作業-作業管理系統


1 項目介紹

1.1 技術說明

框架:SpringBoot + Jpa(持久層框架) + layui(前端框架)
數據庫:Mysql
容器:Docker
開發環境:IDEA

1.2 主要功能

主要功能包括:登錄注冊、發布作業、提交作業、查看作業、作業打分評語
可以將系統划分為:登錄注冊、教師端、學生端

1.2.1 登錄注冊

此功能為教師和學生的公共功能。
在注冊時需選擇自己的身份。
在登錄時會根據選擇的身份自動進入學生系統或教師系統。

1.2.2 教師端

1.發布新作業
2.查看學生提交的作業
3.給學生提交的作業打分、寫評語
4.作業信息統計(提交人數、平均分)

1.2.3 學生端

1.查看老師發布的作業要求
2.提交作業
3.查看老師給的分數和評語


2 數據庫說明

一共三張表,為便於測試,三張表之間不存在外鍵依賴。

2.1 user 表

在這里插入圖片描述

2.2 student_homework 表

在這里插入圖片描述

2.3 teacher_homework 表

在這里插入圖片描述
注:本表中homework_id字段為逐漸,且自增。


3 服務器設計

3.1 項目目錄結構

在這里插入圖片描述

3.2 各部分代碼

可以在github查看:
https://github.com/13269279918/JavaEE-HomeworkSystem-Final

4 功能細節和容錯

4.1 注冊

在這里插入圖片描述
用戶可以自定義用戶名,並設置密碼。
並選擇自身身份(以后該身份將再登錄時進行自動識別)。

4.1.1 用戶名重復識別


如果用戶輸入了已存在的用戶名,則會注冊失敗,需更換用戶名。

4.1.2 密碼二次確認

在這里插入圖片描述
如果用戶兩次輸入的密碼不一致,則會注冊失敗,並提示用戶。

4.1.3 空輸入檢測

在這里插入圖片描述
如果用戶沒有輸入用戶名、密碼,或沒有選擇身份,就會注冊失敗,並提示用戶進行完整輸入。

4.1.4 長度限制

在這里插入圖片描述
因為數據庫的字段長度限制,防止用戶輸入過長的用戶名和密碼,導致越界、泄露等問題,用戶名和密碼進行了長度限制,達到長度上限后將無法繼續輸入。

4.2 登錄

在這里插入圖片描述
用戶輸入正確的用戶名和密碼后,系統會自動識別用戶身份。給出用戶提示,稍后跳轉至對應身份的頁面。

4.2.1 長度限制——同上

4.2.2 密碼驗證

在這里插入圖片描述
如果用戶輸入的用戶名和密碼不能匹配,將會提示用戶。

4.3 教師端——作業目錄

在這里插入圖片描述
教師用戶登錄后會自動跳轉至此頁面。此頁面相當於教師端的首頁面。

4.3.1 表格中按鈕——要求

在這里插入圖片描述
點擊教師可以查看此次作業的要求。

4.3.2 表格中按鈕——批閱

點擊之后可以查看此項作業的學生提交作業,具體可以參照下文4.4。

4.3.3 表格中按鈕——統計

在這里插入圖片描述
點擊后會有彈出層顯示本作業的提交人數和平均分。

4.3.4 左側導航欄——批改作業

即為首頁面,點擊之后原地跳轉,相當於刷新頁面。

4.3.5 左側導航欄——發布作業

在這里插入圖片描述
點擊之后跳轉至發布作業界面,用戶可以輸入作業標題、作業要求,並選擇作業截止日期。
注:此部分也有非空容錯和長度容錯,實現方法同上。

4.3.5.1 截止日期容錯

在這里插入圖片描述
如用戶指定的截止日期在當前日期之前,那么就無法發布。
如圖中指定的日期是6月2日,而當前時間已經是6月19日,作業將無法發布。

4.4 教師端——批改作業

在這里插入圖片描述
用戶在教師端首頁,點擊表格中的批閱按鈕后會跳轉至此頁面。
此頁面會過濾顯示所選作業的全部提交情況,如圖中選擇的是第四次作業,那么只會顯示學生上交的第四次作業,而不會顯示第一二三次。

4.4.1 表格按鈕——內容

在這里插入圖片描述
點擊之后會有彈出層顯示,此學生提交的作業內容。

4.4.2 表格中按鈕——打分

在這里插入圖片描述
點擊之后會彈出窗口,用戶可以輸入評分和評語對該學生的本次作業進行評分。
注:此窗口也包含非空容錯和長度限制,同上。
注:此窗口中還包含數值類型容錯,如果用戶輸入不是0-10的數字,則會提醒。
在這里插入圖片描述

4.5 學生端——查看待提交作業

在這里插入圖片描述
學生用戶登錄后將會自動跳轉至此界面。

4.5.1 表格中按鈕——要求

在這里插入圖片描述
用戶點擊之后,彈出窗口顯示本次作業的作業要求。與教師端要求功能相同

4.5.2 表格中按鈕——提交

在這里插入圖片描述
點擊后,會彈出窗口,用戶可以輸入此次作業提交的題目名和內容。

4.5.2.1 截止日期檢測

如上圖中,前三次作業的截止日期為6.18.而本日已經是6.19,故前三次作業已經不可提交了。

4.5.2.2 作業重復提交

后提交的作業會以Update的形式,修改覆蓋之前提交的數據記錄。故學生可以在作業的截止日期內無限次提交作業。

4.5.3 左側導航欄——提交作業

即為學生端的主頁面,點擊之后原地跳轉,相當於刷新頁面。

4.5.4 左側導航欄——查看分數

在這里插入圖片描述
用戶點擊之后,會跳轉至查看分數頁面。
用戶可以查看本人提交的全部作業的分值和老師的評語。


5 結語

很感謝老師的教導,經過一個學期的學習,我從一個連Maven都不會配置的小白成長為了對各類框架都能了解掌握的大白,並且對企業編程有了一定認識。這門課極大的開闊了我的知識范圍,讓我很是受用。我對自己的進步感到高興,也對老師給我提供的指導和幫助表示由衷的感謝——祝願老師事業順利,身體健康。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM