博客目錄
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都不會配置的小白成長爲了對各類框架都能瞭解掌握的大白,並且對企業編程有了一定認識。這門課極大的開闊了我的知識範圍,讓我很是受用。我對自己的進步感到高興,也對老師給我提供的指導和幫助表示由衷的感謝——祝願老師事業順利,身體健康。